<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.objclt.ca/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nicolas</id>
	<title>Objectif Client Inc - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.objclt.ca/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nicolas"/>
	<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php/Special:Contributions/Nicolas"/>
	<updated>2026-04-15T04:47:55Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.38.2</generator>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Unix_Container&amp;diff=1351</id>
		<title>Unix Container</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Unix_Container&amp;diff=1351"/>
		<updated>2026-03-15T09:30:30Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Upgrade */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Container Howto==&lt;br /&gt;
===Web Site===&lt;br /&gt;
Docker [[https://docker.com docker.com]]&lt;br /&gt;
&lt;br /&gt;
Containers at Docker Store [[https://store.docker.com/ store.docker.com]]&lt;br /&gt;
&lt;br /&gt;
===Install and run a container=== &lt;br /&gt;
&amp;lt;pre&amp;gt;docker run -i -t ubuntu:18:04 /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Create an image from a container Commit===&lt;br /&gt;
* &amp;quot;b5673dbced61&amp;quot; is an image id &lt;br /&gt;
&amp;lt;pre&amp;gt;docker commit -m &amp;quot;Ubuntu 14.10 Demonstrator&amp;quot; -a &amp;quot;Author Name&amp;quot; b5673dbced61 demo:14.10&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List Images (Source to initiare a containers)===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker images&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Remove an image &amp;quot;b5673dbced61&amp;quot; is an image id===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker rmi b5673dbced61 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Create a volume===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker volume create --name node_red_user_data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List volumes===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker volume ls&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List containers (Running Virtual Machines)=== &lt;br /&gt;
* Running: &lt;br /&gt;
&amp;lt;pre&amp;gt; docker ps&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Full List&lt;br /&gt;
&amp;lt;pre&amp;gt; docker ps -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Start and Stop a container=== &lt;br /&gt;
* Stop&lt;br /&gt;
&amp;lt;pre&amp;gt;docker stop &amp;quot;containerId or Name&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Start (Batch)&lt;br /&gt;
&amp;lt;pre&amp;gt;docker start &amp;quot;containerId or Name&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Start (and login in)&lt;br /&gt;
&amp;lt;pre&amp;gt;docker start -i &amp;quot;containerId or Name&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Update a restart option===&lt;br /&gt;
* no&lt;br /&gt;
* on-failure&lt;br /&gt;
* unless-stopped&lt;br /&gt;
* always&lt;br /&gt;
&amp;lt;pre&amp;gt;docker update --restart=on-failure &amp;lt;container&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Run a command inside the container===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker exec -it openxchange01 service apache2 start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Relogin&amp;quot; (Attach) into a Container===&lt;br /&gt;
* &amp;quot;Relogin into a running container&lt;br /&gt;
&amp;lt;pre&amp;gt;docker attach &amp;quot;container Name&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Save an image===&lt;br /&gt;
* &amp;quot;asw20/mailserver&amp;quot; is the image tag&lt;br /&gt;
&amp;lt;pre&amp;gt;docker save asw20/mailserver:latest -o mailserver.tar&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Save all images===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker save $(docker images | sed &#039;1d&#039; | awk &#039;{print $1 &amp;quot;:&amp;quot; $2 }&#039;) -o dockerimages.tar&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restore image===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker load -i dockerimages.tar&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Remove a container===&lt;br /&gt;
* &amp;quot;d0955f21bf24&amp;quot; is a container Id&lt;br /&gt;
&amp;lt;pre&amp;gt;docker rm d0955f21bf24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Remove all containers=== &lt;br /&gt;
&amp;lt;pre&amp;gt;docker stop $(docker ps -a -q)&lt;br /&gt;
docker rm $(docker ps -a -q)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Advence Topics==&lt;br /&gt;
&lt;br /&gt;
===Build an image from a Dockerfile===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker build -t objectif/appname -f pathtoDockerfile&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;docker build -t [username]/docker-desktop git://github.com/rogaha/docker-desktop.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Execute more advances===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker run -i -t --net=&amp;quot;bridge&amp;quot; --name Demo -v /opt/docker/data mindesktop:v01.01&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Dockerfile Sample===&lt;br /&gt;
====node Js app====&lt;br /&gt;
* Create a new directory&lt;br /&gt;
=====Create node app=====&lt;br /&gt;
* Create package.json&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;name&amp;quot;: &amp;quot;docker_web_app&amp;quot;,&lt;br /&gt;
  &amp;quot;version&amp;quot;: &amp;quot;1.0.0&amp;quot;,&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Node.js on Docker&amp;quot;,&lt;br /&gt;
  &amp;quot;author&amp;quot;: &amp;quot;First Last &amp;lt;first.last@example.com&amp;gt;&amp;quot;,&lt;br /&gt;
  &amp;quot;main&amp;quot;: &amp;quot;server.js&amp;quot;,&lt;br /&gt;
  &amp;quot;scripts&amp;quot;: {&lt;br /&gt;
    &amp;quot;start&amp;quot;: &amp;quot;node server.js&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;dependencies&amp;quot;: {&lt;br /&gt;
    &amp;quot;express&amp;quot;: &amp;quot;^4.16.1&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create server.js &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
const express = require(&#039;express&#039;);&lt;br /&gt;
&lt;br /&gt;
// Constants&lt;br /&gt;
const PORT = 8080;&lt;br /&gt;
const HOST = &#039;0.0.0.0&#039;;&lt;br /&gt;
&lt;br /&gt;
// App&lt;br /&gt;
const app = express();&lt;br /&gt;
app.get(&#039;/&#039;, (req, res) =&amp;gt; {&lt;br /&gt;
  res.send(&#039;Hello world\n&#039;);&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
app.listen(PORT, HOST);&lt;br /&gt;
console.log(`Running on http://${HOST}:${PORT}`);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Create Dockerfile=====&lt;br /&gt;
* Create a file Dockerfile&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FROM node:10&lt;br /&gt;
&lt;br /&gt;
# Create app directory&lt;br /&gt;
WORKDIR /usr/src/app&lt;br /&gt;
&lt;br /&gt;
# Install app dependencies&lt;br /&gt;
# A wildcard is used to ensure both package.json AND package-lock.json are copied&lt;br /&gt;
# where available (npm@5+)&lt;br /&gt;
COPY package*.json ./&lt;br /&gt;
&lt;br /&gt;
RUN npm install&lt;br /&gt;
# If you are building your code for production&lt;br /&gt;
# RUN npm ci --only=production&lt;br /&gt;
&lt;br /&gt;
# Bundle app source&lt;br /&gt;
COPY . .&lt;br /&gt;
&lt;br /&gt;
EXPOSE 8080&lt;br /&gt;
CMD [ &amp;quot;node&amp;quot;, &amp;quot;server.js&amp;quot; ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a file .dockerignore&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
node_modules&lt;br /&gt;
npm-debug.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Build Image=====&lt;br /&gt;
* Don&#039;t forget the &amp;quot;.&amp;quot; at the end...&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker build -t &amp;lt;username&amp;gt;/&amp;lt;applicationname&amp;gt; .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====List Images=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker images&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Run Image=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run &amp;lt;username&amp;gt;/&amp;lt;applicationname&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ghost (Blog Server)====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FROM komljen/nodejs&lt;br /&gt;
MAINTAINER Alen Komljen &amp;lt;alen.komljen@live.com&amp;gt;&lt;br /&gt;
ENV GHOST_VERSION 0.5.7&lt;br /&gt;
ENV APP_ROOT /data/app&lt;br /&gt;
RUN \&lt;br /&gt;
curl -sLO http://ghost.org/archives/ghost-${GHOST_VERSION}.zip &amp;amp;&amp;amp; \&lt;br /&gt;
mkdir -p ${APP_ROOT} &amp;amp;&amp;amp; \&lt;br /&gt;
unzip -uo ghost-${GHOST_VERSION}.zip -d ${APP_ROOT} &amp;amp;&amp;amp; \&lt;br /&gt;
rm ghost-${GHOST_VERSION}.zip&lt;br /&gt;
RUN \&lt;br /&gt;
cd ${APP_ROOT} &amp;amp;&amp;amp; \&lt;br /&gt;
npm install --production&lt;br /&gt;
ADD start.sh start.sh&lt;br /&gt;
VOLUME [&amp;quot;$APP_ROOT&amp;quot;]&lt;br /&gt;
RUN rm /usr/sbin/policy-rc.d&lt;br /&gt;
CMD [&amp;quot;/start.sh&amp;quot;]&lt;br /&gt;
EXPOSE 2368&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gui management solution for Docker==&lt;br /&gt;
&lt;br /&gt;
=== Portainer ===&lt;br /&gt;
Web site [https://portainer.io/ https://portainer.io]&lt;br /&gt;
&lt;br /&gt;
Dashboard access&lt;br /&gt;
[http://localhost:9000/#/dashboard http://localhost:9000/#/dashboard]&lt;br /&gt;
&lt;br /&gt;
====Deployment====&lt;br /&gt;
&amp;lt;pre&amp;gt;docker run -d --name myPortainer -p 9000:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer-ce&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Upgrade====&lt;br /&gt;
* Stop Portainer&lt;br /&gt;
* Remove Portainer&lt;br /&gt;
* Pull new /upgraded image&lt;br /&gt;
* Recreate Portainer&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker stop myPortainer&lt;br /&gt;
docker rm myPortainer&lt;br /&gt;
docker pull portainer/portainer-ce&lt;br /&gt;
docker run -d --name myPortainer -p 9000:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer-ce --trusted-origins portainer.objclt.ca&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Docker Server Remote Management ==&lt;br /&gt;
&lt;br /&gt;
# These commands get run inside of your VM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Create the directory to store the configuration file.&lt;br /&gt;
sudo mkdir -p /etc/systemd/system/docker.service.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Create a new file to store the daemon options.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/docker.service.d/options.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Now make it look like this and save the file when you&#039;re done:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=&lt;br /&gt;
ExecStart=/usr/bin/dockerd -H unix:// -H tcp://0.0.0.0:2375&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Reload the systemd daemon.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Restart Docker.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl restart docker&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Unix_Container&amp;diff=1350</id>
		<title>Unix Container</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Unix_Container&amp;diff=1350"/>
		<updated>2026-03-15T09:24:47Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Upgrade */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Container Howto==&lt;br /&gt;
===Web Site===&lt;br /&gt;
Docker [[https://docker.com docker.com]]&lt;br /&gt;
&lt;br /&gt;
Containers at Docker Store [[https://store.docker.com/ store.docker.com]]&lt;br /&gt;
&lt;br /&gt;
===Install and run a container=== &lt;br /&gt;
&amp;lt;pre&amp;gt;docker run -i -t ubuntu:18:04 /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Create an image from a container Commit===&lt;br /&gt;
* &amp;quot;b5673dbced61&amp;quot; is an image id &lt;br /&gt;
&amp;lt;pre&amp;gt;docker commit -m &amp;quot;Ubuntu 14.10 Demonstrator&amp;quot; -a &amp;quot;Author Name&amp;quot; b5673dbced61 demo:14.10&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List Images (Source to initiare a containers)===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker images&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Remove an image &amp;quot;b5673dbced61&amp;quot; is an image id===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker rmi b5673dbced61 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Create a volume===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker volume create --name node_red_user_data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List volumes===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker volume ls&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List containers (Running Virtual Machines)=== &lt;br /&gt;
* Running: &lt;br /&gt;
&amp;lt;pre&amp;gt; docker ps&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Full List&lt;br /&gt;
&amp;lt;pre&amp;gt; docker ps -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Start and Stop a container=== &lt;br /&gt;
* Stop&lt;br /&gt;
&amp;lt;pre&amp;gt;docker stop &amp;quot;containerId or Name&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Start (Batch)&lt;br /&gt;
&amp;lt;pre&amp;gt;docker start &amp;quot;containerId or Name&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Start (and login in)&lt;br /&gt;
&amp;lt;pre&amp;gt;docker start -i &amp;quot;containerId or Name&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Update a restart option===&lt;br /&gt;
* no&lt;br /&gt;
* on-failure&lt;br /&gt;
* unless-stopped&lt;br /&gt;
* always&lt;br /&gt;
&amp;lt;pre&amp;gt;docker update --restart=on-failure &amp;lt;container&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Run a command inside the container===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker exec -it openxchange01 service apache2 start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Relogin&amp;quot; (Attach) into a Container===&lt;br /&gt;
* &amp;quot;Relogin into a running container&lt;br /&gt;
&amp;lt;pre&amp;gt;docker attach &amp;quot;container Name&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Save an image===&lt;br /&gt;
* &amp;quot;asw20/mailserver&amp;quot; is the image tag&lt;br /&gt;
&amp;lt;pre&amp;gt;docker save asw20/mailserver:latest -o mailserver.tar&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Save all images===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker save $(docker images | sed &#039;1d&#039; | awk &#039;{print $1 &amp;quot;:&amp;quot; $2 }&#039;) -o dockerimages.tar&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restore image===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker load -i dockerimages.tar&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Remove a container===&lt;br /&gt;
* &amp;quot;d0955f21bf24&amp;quot; is a container Id&lt;br /&gt;
&amp;lt;pre&amp;gt;docker rm d0955f21bf24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Remove all containers=== &lt;br /&gt;
&amp;lt;pre&amp;gt;docker stop $(docker ps -a -q)&lt;br /&gt;
docker rm $(docker ps -a -q)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Advence Topics==&lt;br /&gt;
&lt;br /&gt;
===Build an image from a Dockerfile===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker build -t objectif/appname -f pathtoDockerfile&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;docker build -t [username]/docker-desktop git://github.com/rogaha/docker-desktop.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Execute more advances===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker run -i -t --net=&amp;quot;bridge&amp;quot; --name Demo -v /opt/docker/data mindesktop:v01.01&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Dockerfile Sample===&lt;br /&gt;
====node Js app====&lt;br /&gt;
* Create a new directory&lt;br /&gt;
=====Create node app=====&lt;br /&gt;
* Create package.json&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;name&amp;quot;: &amp;quot;docker_web_app&amp;quot;,&lt;br /&gt;
  &amp;quot;version&amp;quot;: &amp;quot;1.0.0&amp;quot;,&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Node.js on Docker&amp;quot;,&lt;br /&gt;
  &amp;quot;author&amp;quot;: &amp;quot;First Last &amp;lt;first.last@example.com&amp;gt;&amp;quot;,&lt;br /&gt;
  &amp;quot;main&amp;quot;: &amp;quot;server.js&amp;quot;,&lt;br /&gt;
  &amp;quot;scripts&amp;quot;: {&lt;br /&gt;
    &amp;quot;start&amp;quot;: &amp;quot;node server.js&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;dependencies&amp;quot;: {&lt;br /&gt;
    &amp;quot;express&amp;quot;: &amp;quot;^4.16.1&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create server.js &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
const express = require(&#039;express&#039;);&lt;br /&gt;
&lt;br /&gt;
// Constants&lt;br /&gt;
const PORT = 8080;&lt;br /&gt;
const HOST = &#039;0.0.0.0&#039;;&lt;br /&gt;
&lt;br /&gt;
// App&lt;br /&gt;
const app = express();&lt;br /&gt;
app.get(&#039;/&#039;, (req, res) =&amp;gt; {&lt;br /&gt;
  res.send(&#039;Hello world\n&#039;);&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
app.listen(PORT, HOST);&lt;br /&gt;
console.log(`Running on http://${HOST}:${PORT}`);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Create Dockerfile=====&lt;br /&gt;
* Create a file Dockerfile&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FROM node:10&lt;br /&gt;
&lt;br /&gt;
# Create app directory&lt;br /&gt;
WORKDIR /usr/src/app&lt;br /&gt;
&lt;br /&gt;
# Install app dependencies&lt;br /&gt;
# A wildcard is used to ensure both package.json AND package-lock.json are copied&lt;br /&gt;
# where available (npm@5+)&lt;br /&gt;
COPY package*.json ./&lt;br /&gt;
&lt;br /&gt;
RUN npm install&lt;br /&gt;
# If you are building your code for production&lt;br /&gt;
# RUN npm ci --only=production&lt;br /&gt;
&lt;br /&gt;
# Bundle app source&lt;br /&gt;
COPY . .&lt;br /&gt;
&lt;br /&gt;
EXPOSE 8080&lt;br /&gt;
CMD [ &amp;quot;node&amp;quot;, &amp;quot;server.js&amp;quot; ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a file .dockerignore&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
node_modules&lt;br /&gt;
npm-debug.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Build Image=====&lt;br /&gt;
* Don&#039;t forget the &amp;quot;.&amp;quot; at the end...&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker build -t &amp;lt;username&amp;gt;/&amp;lt;applicationname&amp;gt; .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====List Images=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker images&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Run Image=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run &amp;lt;username&amp;gt;/&amp;lt;applicationname&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ghost (Blog Server)====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FROM komljen/nodejs&lt;br /&gt;
MAINTAINER Alen Komljen &amp;lt;alen.komljen@live.com&amp;gt;&lt;br /&gt;
ENV GHOST_VERSION 0.5.7&lt;br /&gt;
ENV APP_ROOT /data/app&lt;br /&gt;
RUN \&lt;br /&gt;
curl -sLO http://ghost.org/archives/ghost-${GHOST_VERSION}.zip &amp;amp;&amp;amp; \&lt;br /&gt;
mkdir -p ${APP_ROOT} &amp;amp;&amp;amp; \&lt;br /&gt;
unzip -uo ghost-${GHOST_VERSION}.zip -d ${APP_ROOT} &amp;amp;&amp;amp; \&lt;br /&gt;
rm ghost-${GHOST_VERSION}.zip&lt;br /&gt;
RUN \&lt;br /&gt;
cd ${APP_ROOT} &amp;amp;&amp;amp; \&lt;br /&gt;
npm install --production&lt;br /&gt;
ADD start.sh start.sh&lt;br /&gt;
VOLUME [&amp;quot;$APP_ROOT&amp;quot;]&lt;br /&gt;
RUN rm /usr/sbin/policy-rc.d&lt;br /&gt;
CMD [&amp;quot;/start.sh&amp;quot;]&lt;br /&gt;
EXPOSE 2368&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gui management solution for Docker==&lt;br /&gt;
&lt;br /&gt;
=== Portainer ===&lt;br /&gt;
Web site [https://portainer.io/ https://portainer.io]&lt;br /&gt;
&lt;br /&gt;
Dashboard access&lt;br /&gt;
[http://localhost:9000/#/dashboard http://localhost:9000/#/dashboard]&lt;br /&gt;
&lt;br /&gt;
====Deployment====&lt;br /&gt;
&amp;lt;pre&amp;gt;docker run -d --name myPortainer -p 9000:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer-ce&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Upgrade====&lt;br /&gt;
* Stop Portainer&lt;br /&gt;
* Remove Portainer&lt;br /&gt;
* Pull new /upgraded image&lt;br /&gt;
* Recreate Portainer&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker stop myPortainer&lt;br /&gt;
docker rm myPortainer&lt;br /&gt;
docker pull portainer/portainer-ce&lt;br /&gt;
docker run -d --name myPortainer -p 9000:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer-ce --trusted-origins portainer.objclt.ca --no-auth&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Docker Server Remote Management ==&lt;br /&gt;
&lt;br /&gt;
# These commands get run inside of your VM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Create the directory to store the configuration file.&lt;br /&gt;
sudo mkdir -p /etc/systemd/system/docker.service.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Create a new file to store the daemon options.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/docker.service.d/options.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Now make it look like this and save the file when you&#039;re done:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=&lt;br /&gt;
ExecStart=/usr/bin/dockerd -H unix:// -H tcp://0.0.0.0:2375&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Reload the systemd daemon.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Restart Docker.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl restart docker&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Certificate&amp;diff=1349</id>
		<title>Certificate</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Certificate&amp;diff=1349"/>
		<updated>2025-11-16T17:31:21Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Inquiry external DNS server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Install certbot ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install certbot&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Request a wildcard certificat ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
certbot certonly --manual --preferred-challenges=dns --email webmaster@objclt.ca --server https://acme-v02.api.letsencrypt.org/directory --agree-tos -d *.objclt.ca&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update your DNS ===&lt;br /&gt;
Please deploy a DNS TXT record under the name&lt;br /&gt;
_acme-challenge.objclt.ca with the following value:&lt;br /&gt;
&lt;br /&gt;
d2MbmqrvfiohoavRiquicUZZXCfKda5ApasdaafI  (DO NOT USE THAT VALUE !!!) &lt;br /&gt;
&lt;br /&gt;
Before continuing, verify the record is deployed.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
_acme-challenge.objclt.ca.	IN	TXT	&amp;quot;d2MbmqrvfiohoavRiquicUZZXCfKda5ApasdaafI&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Inquiry external DNS server ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
dig -t txt _acme-challenge.objclt.ca. @uz588h0rhwuu3cc03gm9uckw0w42cqr459wn1nxrbzhym2wd81zydb.free.ns.buddyns.com.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== certificate generated ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
IMPORTANT NOTES:&lt;br /&gt;
 - Congratulations! Your certificate and chain have been saved at:&lt;br /&gt;
   /etc/letsencrypt/live/objclt.ca-0001/fullchain.pem&lt;br /&gt;
   Your key file has been saved at:&lt;br /&gt;
   /etc/letsencrypt/live/objclt.ca-0001/privkey.pem&lt;br /&gt;
   Your cert will expire on 2020-01-10. To obtain a new or tweaked&lt;br /&gt;
   version of this certificate in the future, simply run certbot&lt;br /&gt;
   again. To non-interactively renew *all* of your certificates, run&lt;br /&gt;
   &amp;quot;certbot renew&amp;quot;&lt;br /&gt;
 - If you like Certbot, please consider supporting our work by:&lt;br /&gt;
&lt;br /&gt;
   Donating to ISRG / Let&#039;s Encrypt:   https://letsencrypt.org/donate&lt;br /&gt;
   Donating to EFF:                    https://eff.org/donate-le&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Validate the certificate == &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl s_client -crlf -connect mail.objclt.ca:993&lt;br /&gt;
openssl s_client -connect mail.objclt.ca:[port] -servername mail.objclt.ca&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Renew Certificate ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
certbot renew&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove certificate ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
certbot revoke --cert-path /etc/letsencrypt/live/&amp;lt;certificate_name&amp;gt;/cert.pem&lt;br /&gt;
certbot delete --cert-name &amp;lt;your_domain&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tools to validate configuration ==&lt;br /&gt;
** [https://www.ssllabs.com/ssltest/ ssltest]&lt;br /&gt;
** [https://ssl-tools.net/mailservers  ssl-tools]&lt;br /&gt;
** [https://www.checktls.com  CheckTls]&lt;br /&gt;
** [https://mxtoolbox.com/diagnostic.aspx  MxToobox]&lt;br /&gt;
** [https://www.immuniweb.com/ssl/  ImmuniWeb]&lt;br /&gt;
** Certificate monitoring&lt;br /&gt;
*** [https://app.redsift.cloud/ Red Sift]&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=3D_Printer&amp;diff=1348</id>
		<title>3D Printer</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=3D_Printer&amp;diff=1348"/>
		<updated>2025-10-11T06:22:57Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Network */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Hardware==&lt;br /&gt;
&lt;br /&gt;
Anet A8 Desktop 3D Printer&lt;br /&gt;
&lt;br /&gt;
* Overall, an excellent price-performance ratio. Relatively quickly to assemble. Good printing output, tested only with PLA so far. Easy to use software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Power&lt;br /&gt;
** [[https://www.banggood.com/250V-15A-AC-3-in-1-Fuse-Power-Supply-Socket-Connector-Rocker-Switch-p-1145927.html Switch]]&lt;br /&gt;
** [[https://www.banggood.com/3D-Printer-Parts-General-Add-on-Heated-Bed-Power-Expansion-Module-High-Power-For-Chitu-Motherboard-p-1086965.html?p=011020874661201411LK Heated Bed Power Expansion Module]]&lt;br /&gt;
&lt;br /&gt;
* Printing Area&lt;br /&gt;
** [[https://www.banggood.com/5pcs-220x220mm-Plastic-Hot-Bed-Stickers-For-3D-Printer-Wanhao-i3-p-1158028.html?p=011020874661201411LK Plastic Hot Bed Sticker]]&lt;br /&gt;
*** Or &lt;br /&gt;
** [[https://www.banggood.com/3D-Printer-Heating-Bed-Reprap-Toughened-Glass-Plate-200-213mm-p-1003377.html?p=011020874661201411LK Heating Bed Reprap Toughened Glass Plate]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Spare part &lt;br /&gt;
** [[https://www.banggood.com/5M-2GT-6mm-Rubber-Opening-Belt-S2M-GT2-Belt-For-3D-Printer-p-959254.html?p=011020874661201411LK Belt S2M GT2 Belt For 3D Printer]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Improvement:&lt;br /&gt;
** LJ18A3-8-Z/BX-5V  Captor Autoleveling &lt;br /&gt;
** [[https://www.thingiverse.com/thing:2045010 Y Axis Rework]]&lt;br /&gt;
** [[https://www.thingiverse.com/thing:1672959 Corner]]&lt;br /&gt;
&lt;br /&gt;
[[File:Exemple.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Firmware==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Arduino IDE 1.8.3&lt;br /&gt;
** Select board Mega 2560 for KEYESTUDIO MKS GEN V1.4 Board &lt;br /&gt;
* Marlin-1.1.8&lt;br /&gt;
** [http://marlinfw.org/ http://marlinfw.org/]&lt;br /&gt;
** Calculate Extruder thermistor PID&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M303 E0 S235 C10&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
Recv: PID Autotune finished! Put the last Kp, Ki and Kd constants from below into Configuration.h&lt;br /&gt;
Recv: #define  DEFAULT_Kp 15.42&lt;br /&gt;
Recv: #define  DEFAULT_Ki 0.65&lt;br /&gt;
Recv: #define  DEFAULT_Kd 91.61&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** Calculate Heat Bed thermistor PID&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M303 E-1 S95 C10&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
Recv: PID Autotune finished! Put the last Kp, Ki and Kd constants from below into Configuration.h&lt;br /&gt;
Recv: #define  DEFAULT_Kp 15.42&lt;br /&gt;
Recv: #define  DEFAULT_Ki 0.65&lt;br /&gt;
Recv: #define  DEFAULT_Kd 91.61&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
** configuration files&lt;br /&gt;
*** configuration.h [[:File:configuration.h|Marlin configuration.h]]&lt;br /&gt;
*** configuration.h [[:File:configuration_adv.h|Marlin configuration_adv.h]]&lt;br /&gt;
** Detail Changes&lt;br /&gt;
*** configuration.h&lt;br /&gt;
*** Baud Rate&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 #define BAUDRATE 250000&lt;br /&gt;
#define BAUDRATE 115200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** MotherBoard&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef MOTHERBOARD&lt;br /&gt;
  //###Nr001 #define MOTHERBOARD BOARD_RAMPS_14_EFB&lt;br /&gt;
  #define MOTHERBOARD BOARD_ANET_10&lt;br /&gt;
#endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Filament&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0&lt;br /&gt;
#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Activate Temperature Sensor Extruder and Bed&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001#define TEMP_SENSOR_0 1&lt;br /&gt;
#define TEMP_SENSOR_0 5&lt;br /&gt;
//###Nr001#define TEMP_SENSOR_BED 0 &lt;br /&gt;
#define TEMP_SENSOR_BED 5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Increase Temp Residency&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 #define TEMP_RESIDENCY_TIME 6  // (seconds)&lt;br /&gt;
#define TEMP_RESIDENCY_TIME 10  // (seconds)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Reduce Max Bed Temp&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 #define BED_MAXTEMP 150&lt;br /&gt;
#define BED_MAXTEMP 130&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Increase PID Functional Range&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature&lt;br /&gt;
#define PID_FUNCTIONAL_RANGE 15 // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Add My Own PID value based on the automated calculation&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 ANET A8 Customized Value&lt;br /&gt;
//###Nr001  #define  DEFAULT_Kp 21.0&lt;br /&gt;
//###Nr001  #define  DEFAULT_Ki 1.25&lt;br /&gt;
//###Nr001  #define  DEFAULT_Kd 86.0 &lt;br /&gt;
#define  DEFAULT_Kp 15.42&lt;br /&gt;
#define  DEFAULT_Ki 0.65&lt;br /&gt;
#define  DEFAULT_Kd 91.61&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Enable Bed Limit Switch&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 &lt;br /&gt;
#define BED_LIMIT_SWITCHING&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Change ENDSTOP_INVERTING&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Mechanical endstop with COM to ground and NC to Signal uses &amp;quot;false&amp;quot; here (most common setup).&lt;br /&gt;
//###Nr001 #define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.&lt;br /&gt;
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.&lt;br /&gt;
//###Nr001 #define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.&lt;br /&gt;
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.&lt;br /&gt;
//###Nr001 #define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.&lt;br /&gt;
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.&lt;br /&gt;
&lt;br /&gt;
#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.&lt;br /&gt;
#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.&lt;br /&gt;
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.&lt;br /&gt;
//###Nr001 #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.&lt;br /&gt;
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.&lt;br /&gt;
&lt;br /&gt;
// Enable this feature if all enabled endstop pins are interrupt-capable.&lt;br /&gt;
// This will remove the need to poll the interrupt pins, saving many CPU cycles.&lt;br /&gt;
//###Nr001&lt;br /&gt;
#define ENDSTOP_INTERRUPTS_FEATURE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Setup Stepper Direction.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.&lt;br /&gt;
#define INVERT_X_DIR false&lt;br /&gt;
//###Nr001 #define INVERT_Y_DIR true&lt;br /&gt;
#define INVERT_Y_DIR false&lt;br /&gt;
//###Nr001 #define INVERT_Z_DIR false&lt;br /&gt;
#define INVERT_Z_DIR true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Adjust Steps Per Unit (steps / mm)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 #define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 4000, 500 }&lt;br /&gt;
#define DEFAULT_AXIS_STEPS_PER_UNIT   {100,  100, 400, 100}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Default Max Feed Rate (mm/s)&lt;br /&gt;
 * Override with M203&lt;br /&gt;
 *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]&lt;br /&gt;
 */&lt;br /&gt;
//###Nr001 #define DEFAULT_MAX_FEEDRATE          { 300, 300, 5, 25 }&lt;br /&gt;
#define DEFAULT_MAX_FEEDRATE          {400, 400, 8, 50}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Default Max Acceleration (change/s) change = mm/s&lt;br /&gt;
 * (Maximum start speed for accelerated moves)&lt;br /&gt;
 * Override with M201&lt;br /&gt;
 *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]&lt;br /&gt;
 */&lt;br /&gt;
//###Nr001 #define DEFAULT_MAX_ACCELERATION      { 3000, 3000, 100, 10000 }&lt;br /&gt;
#define DEFAULT_MAX_ACCELERATION      { 2000, 2000, 100, 10000 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Adjust Accelerations&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration for printing moves&lt;br /&gt;
#define DEFAULT_ACCELERATION          400     // X, Y, Z and E acceleration for printing moves&lt;br /&gt;
//###Nr001 #define DEFAULT_RETRACT_ACCELERATION  3000    // E acceleration for retracts&lt;br /&gt;
#define DEFAULT_RETRACT_ACCELERATION  1000    // E acceleration for retracts&lt;br /&gt;
//###Nr001 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration for travel (non printing) moves&lt;br /&gt;
#define DEFAULT_TRAVEL_ACCELERATION   1000    // X, Y, Z acceleration for travel (non printing) moves&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Define Printer Characteristics&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// The size of the print bed&lt;br /&gt;
//###Nr001 #define X_BED_SIZE 200&lt;br /&gt;
#define X_BED_SIZE 220&lt;br /&gt;
//###Nr001 #define Y_BED_SIZE 200&lt;br /&gt;
#define Y_BED_SIZE 220&lt;br /&gt;
&lt;br /&gt;
// Travel limits (mm) after homing, corresponding to endstop positions.&lt;br /&gt;
//###Nr001 #define X_MIN_POS 0&lt;br /&gt;
#define X_MIN_POS     -33&lt;br /&gt;
//###Nr001 #define Y_MIN_POS 0&lt;br /&gt;
#define Y_MIN_POS     -10&lt;br /&gt;
//###Nr001 #define Z_MAX_POS 200&lt;br /&gt;
#define Z_MAX_POS     240&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Perform Z Autohome on the bed Z_SAFE_HOMING&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Use &amp;quot;Z Safe Homing&amp;quot; to avoid homing with a Z probe outside the bed area.&lt;br /&gt;
//###Nr001&lt;br /&gt;
#define Z_SAFE_HOMING&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Enable SD Card&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 &lt;br /&gt;
#define SDSUPPORT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Enable LCD for Anet A8&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 &lt;br /&gt;
#define ZONESTAR_LCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Setup Autoleveling&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001&lt;br /&gt;
#define FIX_MOUNTED_PROBE&lt;br /&gt;
&lt;br /&gt;
//###Nr001&lt;br /&gt;
#define AUTO_BED_LEVELING_LINEAR&lt;br /&gt;
&lt;br /&gt;
//###Nr001  #define G26_MESH_VALIDATION   // Enable G26 mesh validation&lt;br /&gt;
&lt;br /&gt;
//###Nr001 #define GRID_MAX_POINTS_X 3&lt;br /&gt;
#define GRID_MAX_POINTS_X 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Adjust Probe&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Set the boundaries for probing (where the probe can reach).&lt;br /&gt;
//###Nr001 #define LEFT_PROBE_BED_POSITION 15&lt;br /&gt;
#define LEFT_PROBE_BED_POSITION 20&lt;br /&gt;
//###Nr001 #define RIGHT_PROBE_BED_POSITION 170&lt;br /&gt;
#define RIGHT_PROBE_BED_POSITION 195&lt;br /&gt;
//###Nr001 #define FRONT_PROBE_BED_POSITION 20&lt;br /&gt;
#define FRONT_PROBE_BED_POSITION 30&lt;br /&gt;
#define BACK_PROBE_BED_POSITION 190&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SoftWare==&lt;br /&gt;
&lt;br /&gt;
===Cura===&lt;br /&gt;
&lt;br /&gt;
====Setup====&lt;br /&gt;
=====Machine Setup=====&lt;br /&gt;
* Printer Setting&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x: 220&lt;br /&gt;
Y: 220&lt;br /&gt;
Z: 240&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Print Head Setting&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
X min: 0&lt;br /&gt;
Y min: 0&lt;br /&gt;
X max: 0&lt;br /&gt;
y max: 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ganty height: 0&lt;br /&gt;
* Nozzle size: .04&lt;br /&gt;
&lt;br /&gt;
* Machine Center is Zero: Not Selected&lt;br /&gt;
* Heated Bed            : Select&lt;br /&gt;
&lt;br /&gt;
* Start GCode&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
G21 ;metric values&lt;br /&gt;
G90 ;absolute positioning&lt;br /&gt;
M82 ;set extruder to absolute mode&lt;br /&gt;
M107 ;start with the fan off&lt;br /&gt;
G28 X0 Y0 ;move X/Y to min endstops&lt;br /&gt;
G28 Z0 ;move Z to min endstops&lt;br /&gt;
G29 ;Autoleveling&lt;br /&gt;
G1 Z15.0 F9000 ;move the platform down 15mm&lt;br /&gt;
G92 E0 ;zero the extruded length&lt;br /&gt;
G1 F200 E3 ;extrude 3mm of feed stock&lt;br /&gt;
G92 E0 ;zero the extruded length again&lt;br /&gt;
G1 F9000&lt;br /&gt;
M117 Printing...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* End GCode&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M104 S0 ;extruder heater off&lt;br /&gt;
M140 S0 ;heated bed heater off (if you have it)&lt;br /&gt;
G91 ;relative positioning&lt;br /&gt;
G1 E-1 F300  ;retract the filament a bit before lifting the nozzle, to release some of the pressure&lt;br /&gt;
G1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more&lt;br /&gt;
G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way&lt;br /&gt;
M84 ;steppers off&lt;br /&gt;
G90 ;absolute positioning&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===OctoPrint===&lt;br /&gt;
&lt;br /&gt;
==== Alias ll ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -i -e &#039;$ a alias ll=&amp;quot;ls -alF&amp;quot;&#039; /etc/bash.bashrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Network ====&lt;br /&gt;
&lt;br /&gt;
* Disable haproxy (no need as using Apache2 proxy)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl disable haproxy&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Setup octoprint python program for listening 0.0.0.0&lt;br /&gt;
** Update the address in /etc/systemd/system/octoprint.service&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Service]&lt;br /&gt;
Environment=&amp;quot;HOST=0.0.0.0&amp;quot;&lt;br /&gt;
Environment=&amp;quot;PORT=5000&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Camera ====&lt;br /&gt;
* Install webcamd and ffmpeg&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install webcamd ffmpeg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Change Webcam listner to 0.0.0.0 #&lt;br /&gt;
** Add the following into /boot/firmware/octopi.txt&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
camera_http_options=&amp;quot;-n --listen 0.0.0.0&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Switch On/Off====&lt;br /&gt;
* In /etc/init.d/octoprint, add the following before RETVAL=&amp;quot;$?&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gpio export 18 out&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add switch on off&lt;br /&gt;
/home/pi/.octoprint/config.yaml&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
system:&lt;br /&gt;
  actions:&lt;br /&gt;
  - action: led on&lt;br /&gt;
    command: gpio -g write 18 1&lt;br /&gt;
    name: Turn on the led&lt;br /&gt;
  - action: led off&lt;br /&gt;
    command: gpio -g write 18 0&lt;br /&gt;
    confirm: You are about to turn off the led.&lt;br /&gt;
    name: Turn off the led&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Stream On/Off====&lt;br /&gt;
* Add switch on off&lt;br /&gt;
/home/pi/.octoprint/config.yaml&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
system:&lt;br /&gt;
  actions:&lt;br /&gt;
  - action: streamon&lt;br /&gt;
    command: sudo /bin/systemctl start webcamd&lt;br /&gt;
    confirm: false&lt;br /&gt;
    name: Start video stream&lt;br /&gt;
  - action: streamoff&lt;br /&gt;
    command: sudo /bin/systemctl stop webcamd&lt;br /&gt;
    confirm: true&lt;br /&gt;
    name: Stop video stream&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add pi execution without password in /etc/sudoers&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pi ALL=(ALL) NOPASSWD: ALL&lt;br /&gt;
or &lt;br /&gt;
pi ALL=(ALL) NOPASSWD: /bin/systemctl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Z-Offset====&lt;br /&gt;
* Display and change Z-Offset Value&lt;br /&gt;
/home/pi/.octoprint/config.yaml&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
controls:&lt;br /&gt;
- children:&lt;br /&gt;
  - command: M628&lt;br /&gt;
    default: &#039;&#039;&lt;br /&gt;
    name: Get&lt;br /&gt;
    regex: z zero offset value:(?P&amp;lt;offset&amp;gt;\d+(\.\d*))&lt;br /&gt;
    template: &#039;Current: {offset} mm&#039;&lt;br /&gt;
    width: &#039;5&#039;&lt;br /&gt;
  - command: M628 Z%(offset)s&lt;br /&gt;
    input:&lt;br /&gt;
    - default: &#039;0.00&#039;&lt;br /&gt;
      name: New (mm)&lt;br /&gt;
      parameter: offset&lt;br /&gt;
      slider: false&lt;br /&gt;
    name: Set&lt;br /&gt;
    width: &#039;5&#039;&lt;br /&gt;
  - command: G28 Z0&lt;br /&gt;
    name: Home Z&lt;br /&gt;
    width: &#039;2&#039;&lt;br /&gt;
  collapsed: true&lt;br /&gt;
  layout: horizontal_grid&lt;br /&gt;
  name: Adjust Z Offset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Slic3r====&lt;br /&gt;
* Configuration file&lt;br /&gt;
** Cura 15 configuration file [[File:Configuration_file_for_Cura-15.04.ini]]&lt;br /&gt;
&lt;br /&gt;
* slic3r_install.sh&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;Shell script created by Javier Martínez Arrieta for Slic3r installation\n&amp;quot;&lt;br /&gt;
 #Ask the user for a version&lt;br /&gt;
 echo &amp;quot;Please indicate which version you desire to be installed (e.g. 1.1.7)&amp;quot;&lt;br /&gt;
 read version&lt;br /&gt;
 echo &amp;quot;The installation of Slic3r takes a long time. PLease be patient&amp;quot;&lt;br /&gt;
 cd $HOME&lt;br /&gt;
 echo &amp;quot;Installing required libraries and dependencies...&amp;quot;&lt;br /&gt;
 sudo apt-get install git libboost-system-dev libboost-thread-dev git-core build-essential libgtk2.0-dev libwxgtk2.8-dev libwx-perl libmodule-build-perl libnet-dbus-perl cpanminus libextutils-cbuilder-perl gcc-4.7 g++-4.7 libwx-perl libperl-dev&lt;br /&gt;
 sudo cpanm AAR/Boost-Geometry-Utils-0.06.tar.gz Math::Clipper Math::ConvexHull Math::ConvexHull::MonotoneChain Math::Geometry::Voronoi Math::PlanePath Moo IO::Scalar Class::XSAccessor Growl::GNTP XML::SAX::ExpatXS PAR::Packer&lt;br /&gt;
 echo &amp;quot;Cloning Slic3r repository...&amp;quot;&lt;br /&gt;
 git clone https://github.com/alexrj/Slic3r.git&lt;br /&gt;
 cd Slic3r&lt;br /&gt;
 git checkout $version&lt;br /&gt;
 echo &amp;quot;Building and testing Scli3r...&amp;quot;&lt;br /&gt;
 sudo perl Build.PL&lt;br /&gt;
 echo &amp;quot;If everything was installed properly,you should be able to run Slic3r with the command ./slic3r.pl&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Disable under power warning ====&lt;br /&gt;
* edit /boot/config.txt and add the following lines at the end &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Disable under voltage warnings&lt;br /&gt;
avoid_warnings=1&lt;br /&gt;
avoid_warnings=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Terminal Gcode Commande===&lt;br /&gt;
====Adjust Z Offset====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M851 Z0; // Set the Z offset to zero height&lt;br /&gt;
G28;     // Home Z in the middle of the bed&lt;br /&gt;
G1 Z0;   // This will move the head to zero height;&lt;br /&gt;
M211 S0; // This will disable the end stops so that you &lt;br /&gt;
         // will be able to proceed lower than Z=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now adjust Z height (note the negative Z height) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M851 Z-1.23; // Define the Z offset&lt;br /&gt;
M500;        // Store the settings&lt;br /&gt;
M211 S1;     // Enable the end stops again&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-1.23 is a fictive value that should be replaced by your own value.&lt;br /&gt;
&lt;br /&gt;
====Extruder Step====&lt;br /&gt;
* Display current value&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M503 // Display current Step values&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* M92 Exyyy (x=Extruder number 0) (yyy=Step value mn)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M92 E0206; // Define the E0 Step value 206&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Resets steps-per-unit for all axes to the values from DEFAULT_AXIS_STEPS_PER_UNIT&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M502&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Save Value &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M500&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Adjust PID====&lt;br /&gt;
*  Calculate PID for extruder for 220 degre 10 Cycle&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M303 E0 S220 C8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Change Extruder PID value&lt;br /&gt;
220 Degree&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M301 P30.22 I2.48 D92.22&lt;br /&gt;
M301 P25 I1.8  D92&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
230 Degree&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M301 P18.00 I1.2 D80&lt;br /&gt;
M301 P13.00 I1 D80&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Save Setting&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M500&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* PID Autotune for bed&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M303 E-1 S60 C8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Change Bed PID value&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M304 P167.05 I31.37 D222.38 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=3D_Printer&amp;diff=1347</id>
		<title>3D Printer</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=3D_Printer&amp;diff=1347"/>
		<updated>2025-10-11T06:20:28Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Network */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Hardware==&lt;br /&gt;
&lt;br /&gt;
Anet A8 Desktop 3D Printer&lt;br /&gt;
&lt;br /&gt;
* Overall, an excellent price-performance ratio. Relatively quickly to assemble. Good printing output, tested only with PLA so far. Easy to use software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Power&lt;br /&gt;
** [[https://www.banggood.com/250V-15A-AC-3-in-1-Fuse-Power-Supply-Socket-Connector-Rocker-Switch-p-1145927.html Switch]]&lt;br /&gt;
** [[https://www.banggood.com/3D-Printer-Parts-General-Add-on-Heated-Bed-Power-Expansion-Module-High-Power-For-Chitu-Motherboard-p-1086965.html?p=011020874661201411LK Heated Bed Power Expansion Module]]&lt;br /&gt;
&lt;br /&gt;
* Printing Area&lt;br /&gt;
** [[https://www.banggood.com/5pcs-220x220mm-Plastic-Hot-Bed-Stickers-For-3D-Printer-Wanhao-i3-p-1158028.html?p=011020874661201411LK Plastic Hot Bed Sticker]]&lt;br /&gt;
*** Or &lt;br /&gt;
** [[https://www.banggood.com/3D-Printer-Heating-Bed-Reprap-Toughened-Glass-Plate-200-213mm-p-1003377.html?p=011020874661201411LK Heating Bed Reprap Toughened Glass Plate]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Spare part &lt;br /&gt;
** [[https://www.banggood.com/5M-2GT-6mm-Rubber-Opening-Belt-S2M-GT2-Belt-For-3D-Printer-p-959254.html?p=011020874661201411LK Belt S2M GT2 Belt For 3D Printer]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Improvement:&lt;br /&gt;
** LJ18A3-8-Z/BX-5V  Captor Autoleveling &lt;br /&gt;
** [[https://www.thingiverse.com/thing:2045010 Y Axis Rework]]&lt;br /&gt;
** [[https://www.thingiverse.com/thing:1672959 Corner]]&lt;br /&gt;
&lt;br /&gt;
[[File:Exemple.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Firmware==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Arduino IDE 1.8.3&lt;br /&gt;
** Select board Mega 2560 for KEYESTUDIO MKS GEN V1.4 Board &lt;br /&gt;
* Marlin-1.1.8&lt;br /&gt;
** [http://marlinfw.org/ http://marlinfw.org/]&lt;br /&gt;
** Calculate Extruder thermistor PID&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M303 E0 S235 C10&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
Recv: PID Autotune finished! Put the last Kp, Ki and Kd constants from below into Configuration.h&lt;br /&gt;
Recv: #define  DEFAULT_Kp 15.42&lt;br /&gt;
Recv: #define  DEFAULT_Ki 0.65&lt;br /&gt;
Recv: #define  DEFAULT_Kd 91.61&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** Calculate Heat Bed thermistor PID&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M303 E-1 S95 C10&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
Recv: PID Autotune finished! Put the last Kp, Ki and Kd constants from below into Configuration.h&lt;br /&gt;
Recv: #define  DEFAULT_Kp 15.42&lt;br /&gt;
Recv: #define  DEFAULT_Ki 0.65&lt;br /&gt;
Recv: #define  DEFAULT_Kd 91.61&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
** configuration files&lt;br /&gt;
*** configuration.h [[:File:configuration.h|Marlin configuration.h]]&lt;br /&gt;
*** configuration.h [[:File:configuration_adv.h|Marlin configuration_adv.h]]&lt;br /&gt;
** Detail Changes&lt;br /&gt;
*** configuration.h&lt;br /&gt;
*** Baud Rate&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 #define BAUDRATE 250000&lt;br /&gt;
#define BAUDRATE 115200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** MotherBoard&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef MOTHERBOARD&lt;br /&gt;
  //###Nr001 #define MOTHERBOARD BOARD_RAMPS_14_EFB&lt;br /&gt;
  #define MOTHERBOARD BOARD_ANET_10&lt;br /&gt;
#endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Filament&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0&lt;br /&gt;
#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Activate Temperature Sensor Extruder and Bed&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001#define TEMP_SENSOR_0 1&lt;br /&gt;
#define TEMP_SENSOR_0 5&lt;br /&gt;
//###Nr001#define TEMP_SENSOR_BED 0 &lt;br /&gt;
#define TEMP_SENSOR_BED 5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Increase Temp Residency&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 #define TEMP_RESIDENCY_TIME 6  // (seconds)&lt;br /&gt;
#define TEMP_RESIDENCY_TIME 10  // (seconds)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Reduce Max Bed Temp&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 #define BED_MAXTEMP 150&lt;br /&gt;
#define BED_MAXTEMP 130&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Increase PID Functional Range&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature&lt;br /&gt;
#define PID_FUNCTIONAL_RANGE 15 // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Add My Own PID value based on the automated calculation&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 ANET A8 Customized Value&lt;br /&gt;
//###Nr001  #define  DEFAULT_Kp 21.0&lt;br /&gt;
//###Nr001  #define  DEFAULT_Ki 1.25&lt;br /&gt;
//###Nr001  #define  DEFAULT_Kd 86.0 &lt;br /&gt;
#define  DEFAULT_Kp 15.42&lt;br /&gt;
#define  DEFAULT_Ki 0.65&lt;br /&gt;
#define  DEFAULT_Kd 91.61&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Enable Bed Limit Switch&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 &lt;br /&gt;
#define BED_LIMIT_SWITCHING&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Change ENDSTOP_INVERTING&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Mechanical endstop with COM to ground and NC to Signal uses &amp;quot;false&amp;quot; here (most common setup).&lt;br /&gt;
//###Nr001 #define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.&lt;br /&gt;
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.&lt;br /&gt;
//###Nr001 #define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.&lt;br /&gt;
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.&lt;br /&gt;
//###Nr001 #define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.&lt;br /&gt;
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.&lt;br /&gt;
&lt;br /&gt;
#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.&lt;br /&gt;
#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.&lt;br /&gt;
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.&lt;br /&gt;
//###Nr001 #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.&lt;br /&gt;
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.&lt;br /&gt;
&lt;br /&gt;
// Enable this feature if all enabled endstop pins are interrupt-capable.&lt;br /&gt;
// This will remove the need to poll the interrupt pins, saving many CPU cycles.&lt;br /&gt;
//###Nr001&lt;br /&gt;
#define ENDSTOP_INTERRUPTS_FEATURE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Setup Stepper Direction.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.&lt;br /&gt;
#define INVERT_X_DIR false&lt;br /&gt;
//###Nr001 #define INVERT_Y_DIR true&lt;br /&gt;
#define INVERT_Y_DIR false&lt;br /&gt;
//###Nr001 #define INVERT_Z_DIR false&lt;br /&gt;
#define INVERT_Z_DIR true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Adjust Steps Per Unit (steps / mm)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 #define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 4000, 500 }&lt;br /&gt;
#define DEFAULT_AXIS_STEPS_PER_UNIT   {100,  100, 400, 100}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Default Max Feed Rate (mm/s)&lt;br /&gt;
 * Override with M203&lt;br /&gt;
 *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]&lt;br /&gt;
 */&lt;br /&gt;
//###Nr001 #define DEFAULT_MAX_FEEDRATE          { 300, 300, 5, 25 }&lt;br /&gt;
#define DEFAULT_MAX_FEEDRATE          {400, 400, 8, 50}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Default Max Acceleration (change/s) change = mm/s&lt;br /&gt;
 * (Maximum start speed for accelerated moves)&lt;br /&gt;
 * Override with M201&lt;br /&gt;
 *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]&lt;br /&gt;
 */&lt;br /&gt;
//###Nr001 #define DEFAULT_MAX_ACCELERATION      { 3000, 3000, 100, 10000 }&lt;br /&gt;
#define DEFAULT_MAX_ACCELERATION      { 2000, 2000, 100, 10000 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Adjust Accelerations&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration for printing moves&lt;br /&gt;
#define DEFAULT_ACCELERATION          400     // X, Y, Z and E acceleration for printing moves&lt;br /&gt;
//###Nr001 #define DEFAULT_RETRACT_ACCELERATION  3000    // E acceleration for retracts&lt;br /&gt;
#define DEFAULT_RETRACT_ACCELERATION  1000    // E acceleration for retracts&lt;br /&gt;
//###Nr001 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration for travel (non printing) moves&lt;br /&gt;
#define DEFAULT_TRAVEL_ACCELERATION   1000    // X, Y, Z acceleration for travel (non printing) moves&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Define Printer Characteristics&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// The size of the print bed&lt;br /&gt;
//###Nr001 #define X_BED_SIZE 200&lt;br /&gt;
#define X_BED_SIZE 220&lt;br /&gt;
//###Nr001 #define Y_BED_SIZE 200&lt;br /&gt;
#define Y_BED_SIZE 220&lt;br /&gt;
&lt;br /&gt;
// Travel limits (mm) after homing, corresponding to endstop positions.&lt;br /&gt;
//###Nr001 #define X_MIN_POS 0&lt;br /&gt;
#define X_MIN_POS     -33&lt;br /&gt;
//###Nr001 #define Y_MIN_POS 0&lt;br /&gt;
#define Y_MIN_POS     -10&lt;br /&gt;
//###Nr001 #define Z_MAX_POS 200&lt;br /&gt;
#define Z_MAX_POS     240&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Perform Z Autohome on the bed Z_SAFE_HOMING&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Use &amp;quot;Z Safe Homing&amp;quot; to avoid homing with a Z probe outside the bed area.&lt;br /&gt;
//###Nr001&lt;br /&gt;
#define Z_SAFE_HOMING&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Enable SD Card&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 &lt;br /&gt;
#define SDSUPPORT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Enable LCD for Anet A8&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 &lt;br /&gt;
#define ZONESTAR_LCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Setup Autoleveling&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001&lt;br /&gt;
#define FIX_MOUNTED_PROBE&lt;br /&gt;
&lt;br /&gt;
//###Nr001&lt;br /&gt;
#define AUTO_BED_LEVELING_LINEAR&lt;br /&gt;
&lt;br /&gt;
//###Nr001  #define G26_MESH_VALIDATION   // Enable G26 mesh validation&lt;br /&gt;
&lt;br /&gt;
//###Nr001 #define GRID_MAX_POINTS_X 3&lt;br /&gt;
#define GRID_MAX_POINTS_X 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Adjust Probe&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Set the boundaries for probing (where the probe can reach).&lt;br /&gt;
//###Nr001 #define LEFT_PROBE_BED_POSITION 15&lt;br /&gt;
#define LEFT_PROBE_BED_POSITION 20&lt;br /&gt;
//###Nr001 #define RIGHT_PROBE_BED_POSITION 170&lt;br /&gt;
#define RIGHT_PROBE_BED_POSITION 195&lt;br /&gt;
//###Nr001 #define FRONT_PROBE_BED_POSITION 20&lt;br /&gt;
#define FRONT_PROBE_BED_POSITION 30&lt;br /&gt;
#define BACK_PROBE_BED_POSITION 190&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SoftWare==&lt;br /&gt;
&lt;br /&gt;
===Cura===&lt;br /&gt;
&lt;br /&gt;
====Setup====&lt;br /&gt;
=====Machine Setup=====&lt;br /&gt;
* Printer Setting&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x: 220&lt;br /&gt;
Y: 220&lt;br /&gt;
Z: 240&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Print Head Setting&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
X min: 0&lt;br /&gt;
Y min: 0&lt;br /&gt;
X max: 0&lt;br /&gt;
y max: 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ganty height: 0&lt;br /&gt;
* Nozzle size: .04&lt;br /&gt;
&lt;br /&gt;
* Machine Center is Zero: Not Selected&lt;br /&gt;
* Heated Bed            : Select&lt;br /&gt;
&lt;br /&gt;
* Start GCode&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
G21 ;metric values&lt;br /&gt;
G90 ;absolute positioning&lt;br /&gt;
M82 ;set extruder to absolute mode&lt;br /&gt;
M107 ;start with the fan off&lt;br /&gt;
G28 X0 Y0 ;move X/Y to min endstops&lt;br /&gt;
G28 Z0 ;move Z to min endstops&lt;br /&gt;
G29 ;Autoleveling&lt;br /&gt;
G1 Z15.0 F9000 ;move the platform down 15mm&lt;br /&gt;
G92 E0 ;zero the extruded length&lt;br /&gt;
G1 F200 E3 ;extrude 3mm of feed stock&lt;br /&gt;
G92 E0 ;zero the extruded length again&lt;br /&gt;
G1 F9000&lt;br /&gt;
M117 Printing...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* End GCode&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M104 S0 ;extruder heater off&lt;br /&gt;
M140 S0 ;heated bed heater off (if you have it)&lt;br /&gt;
G91 ;relative positioning&lt;br /&gt;
G1 E-1 F300  ;retract the filament a bit before lifting the nozzle, to release some of the pressure&lt;br /&gt;
G1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more&lt;br /&gt;
G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way&lt;br /&gt;
M84 ;steppers off&lt;br /&gt;
G90 ;absolute positioning&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===OctoPrint===&lt;br /&gt;
&lt;br /&gt;
==== Alias ll ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -i -e &#039;$ a alias ll=&amp;quot;ls -alF&amp;quot;&#039; /etc/bash.bashrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Network ====&lt;br /&gt;
&lt;br /&gt;
* Disable haproxy (no need as using Apache2 proxy)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl disable haproxy&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Setup octoprint python program for listening 0.0.0.0&lt;br /&gt;
** Update the address in /etc/systemd/system/octoprint.service&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Service]&lt;br /&gt;
Environment=&amp;quot;HOST=0.0.0.0&amp;quot;&lt;br /&gt;
Environment=&amp;quot;PORT=5000&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Change Webcam listner to 0.0.0.0 #&lt;br /&gt;
** Add the following into /boot/firmware/octopi.txt&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
camera_http_options=&amp;quot;-n --listen 0.0.0.0&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Switch On/Off====&lt;br /&gt;
* In /etc/init.d/octoprint, add the following before RETVAL=&amp;quot;$?&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gpio export 18 out&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add switch on off&lt;br /&gt;
/home/pi/.octoprint/config.yaml&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
system:&lt;br /&gt;
  actions:&lt;br /&gt;
  - action: led on&lt;br /&gt;
    command: gpio -g write 18 1&lt;br /&gt;
    name: Turn on the led&lt;br /&gt;
  - action: led off&lt;br /&gt;
    command: gpio -g write 18 0&lt;br /&gt;
    confirm: You are about to turn off the led.&lt;br /&gt;
    name: Turn off the led&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Stream On/Off====&lt;br /&gt;
* Add switch on off&lt;br /&gt;
/home/pi/.octoprint/config.yaml&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
system:&lt;br /&gt;
  actions:&lt;br /&gt;
  - action: streamon&lt;br /&gt;
    command: sudo /bin/systemctl start webcamd&lt;br /&gt;
    confirm: false&lt;br /&gt;
    name: Start video stream&lt;br /&gt;
  - action: streamoff&lt;br /&gt;
    command: sudo /bin/systemctl stop webcamd&lt;br /&gt;
    confirm: true&lt;br /&gt;
    name: Stop video stream&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add pi execution without password in /etc/sudoers&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pi ALL=(ALL) NOPASSWD: ALL&lt;br /&gt;
or &lt;br /&gt;
pi ALL=(ALL) NOPASSWD: /bin/systemctl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Z-Offset====&lt;br /&gt;
* Display and change Z-Offset Value&lt;br /&gt;
/home/pi/.octoprint/config.yaml&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
controls:&lt;br /&gt;
- children:&lt;br /&gt;
  - command: M628&lt;br /&gt;
    default: &#039;&#039;&lt;br /&gt;
    name: Get&lt;br /&gt;
    regex: z zero offset value:(?P&amp;lt;offset&amp;gt;\d+(\.\d*))&lt;br /&gt;
    template: &#039;Current: {offset} mm&#039;&lt;br /&gt;
    width: &#039;5&#039;&lt;br /&gt;
  - command: M628 Z%(offset)s&lt;br /&gt;
    input:&lt;br /&gt;
    - default: &#039;0.00&#039;&lt;br /&gt;
      name: New (mm)&lt;br /&gt;
      parameter: offset&lt;br /&gt;
      slider: false&lt;br /&gt;
    name: Set&lt;br /&gt;
    width: &#039;5&#039;&lt;br /&gt;
  - command: G28 Z0&lt;br /&gt;
    name: Home Z&lt;br /&gt;
    width: &#039;2&#039;&lt;br /&gt;
  collapsed: true&lt;br /&gt;
  layout: horizontal_grid&lt;br /&gt;
  name: Adjust Z Offset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Slic3r====&lt;br /&gt;
* Configuration file&lt;br /&gt;
** Cura 15 configuration file [[File:Configuration_file_for_Cura-15.04.ini]]&lt;br /&gt;
&lt;br /&gt;
* slic3r_install.sh&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;Shell script created by Javier Martínez Arrieta for Slic3r installation\n&amp;quot;&lt;br /&gt;
 #Ask the user for a version&lt;br /&gt;
 echo &amp;quot;Please indicate which version you desire to be installed (e.g. 1.1.7)&amp;quot;&lt;br /&gt;
 read version&lt;br /&gt;
 echo &amp;quot;The installation of Slic3r takes a long time. PLease be patient&amp;quot;&lt;br /&gt;
 cd $HOME&lt;br /&gt;
 echo &amp;quot;Installing required libraries and dependencies...&amp;quot;&lt;br /&gt;
 sudo apt-get install git libboost-system-dev libboost-thread-dev git-core build-essential libgtk2.0-dev libwxgtk2.8-dev libwx-perl libmodule-build-perl libnet-dbus-perl cpanminus libextutils-cbuilder-perl gcc-4.7 g++-4.7 libwx-perl libperl-dev&lt;br /&gt;
 sudo cpanm AAR/Boost-Geometry-Utils-0.06.tar.gz Math::Clipper Math::ConvexHull Math::ConvexHull::MonotoneChain Math::Geometry::Voronoi Math::PlanePath Moo IO::Scalar Class::XSAccessor Growl::GNTP XML::SAX::ExpatXS PAR::Packer&lt;br /&gt;
 echo &amp;quot;Cloning Slic3r repository...&amp;quot;&lt;br /&gt;
 git clone https://github.com/alexrj/Slic3r.git&lt;br /&gt;
 cd Slic3r&lt;br /&gt;
 git checkout $version&lt;br /&gt;
 echo &amp;quot;Building and testing Scli3r...&amp;quot;&lt;br /&gt;
 sudo perl Build.PL&lt;br /&gt;
 echo &amp;quot;If everything was installed properly,you should be able to run Slic3r with the command ./slic3r.pl&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Disable under power warning ====&lt;br /&gt;
* edit /boot/config.txt and add the following lines at the end &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Disable under voltage warnings&lt;br /&gt;
avoid_warnings=1&lt;br /&gt;
avoid_warnings=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Terminal Gcode Commande===&lt;br /&gt;
====Adjust Z Offset====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M851 Z0; // Set the Z offset to zero height&lt;br /&gt;
G28;     // Home Z in the middle of the bed&lt;br /&gt;
G1 Z0;   // This will move the head to zero height;&lt;br /&gt;
M211 S0; // This will disable the end stops so that you &lt;br /&gt;
         // will be able to proceed lower than Z=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now adjust Z height (note the negative Z height) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M851 Z-1.23; // Define the Z offset&lt;br /&gt;
M500;        // Store the settings&lt;br /&gt;
M211 S1;     // Enable the end stops again&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-1.23 is a fictive value that should be replaced by your own value.&lt;br /&gt;
&lt;br /&gt;
====Extruder Step====&lt;br /&gt;
* Display current value&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M503 // Display current Step values&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* M92 Exyyy (x=Extruder number 0) (yyy=Step value mn)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M92 E0206; // Define the E0 Step value 206&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Resets steps-per-unit for all axes to the values from DEFAULT_AXIS_STEPS_PER_UNIT&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M502&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Save Value &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M500&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Adjust PID====&lt;br /&gt;
*  Calculate PID for extruder for 220 degre 10 Cycle&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M303 E0 S220 C8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Change Extruder PID value&lt;br /&gt;
220 Degree&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M301 P30.22 I2.48 D92.22&lt;br /&gt;
M301 P25 I1.8  D92&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
230 Degree&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M301 P18.00 I1.2 D80&lt;br /&gt;
M301 P13.00 I1 D80&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Save Setting&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M500&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* PID Autotune for bed&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M303 E-1 S60 C8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Change Bed PID value&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M304 P167.05 I31.37 D222.38 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=3D_Printer&amp;diff=1346</id>
		<title>3D Printer</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=3D_Printer&amp;diff=1346"/>
		<updated>2025-10-11T02:10:09Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Network */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Hardware==&lt;br /&gt;
&lt;br /&gt;
Anet A8 Desktop 3D Printer&lt;br /&gt;
&lt;br /&gt;
* Overall, an excellent price-performance ratio. Relatively quickly to assemble. Good printing output, tested only with PLA so far. Easy to use software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Power&lt;br /&gt;
** [[https://www.banggood.com/250V-15A-AC-3-in-1-Fuse-Power-Supply-Socket-Connector-Rocker-Switch-p-1145927.html Switch]]&lt;br /&gt;
** [[https://www.banggood.com/3D-Printer-Parts-General-Add-on-Heated-Bed-Power-Expansion-Module-High-Power-For-Chitu-Motherboard-p-1086965.html?p=011020874661201411LK Heated Bed Power Expansion Module]]&lt;br /&gt;
&lt;br /&gt;
* Printing Area&lt;br /&gt;
** [[https://www.banggood.com/5pcs-220x220mm-Plastic-Hot-Bed-Stickers-For-3D-Printer-Wanhao-i3-p-1158028.html?p=011020874661201411LK Plastic Hot Bed Sticker]]&lt;br /&gt;
*** Or &lt;br /&gt;
** [[https://www.banggood.com/3D-Printer-Heating-Bed-Reprap-Toughened-Glass-Plate-200-213mm-p-1003377.html?p=011020874661201411LK Heating Bed Reprap Toughened Glass Plate]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Spare part &lt;br /&gt;
** [[https://www.banggood.com/5M-2GT-6mm-Rubber-Opening-Belt-S2M-GT2-Belt-For-3D-Printer-p-959254.html?p=011020874661201411LK Belt S2M GT2 Belt For 3D Printer]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Improvement:&lt;br /&gt;
** LJ18A3-8-Z/BX-5V  Captor Autoleveling &lt;br /&gt;
** [[https://www.thingiverse.com/thing:2045010 Y Axis Rework]]&lt;br /&gt;
** [[https://www.thingiverse.com/thing:1672959 Corner]]&lt;br /&gt;
&lt;br /&gt;
[[File:Exemple.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Firmware==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Arduino IDE 1.8.3&lt;br /&gt;
** Select board Mega 2560 for KEYESTUDIO MKS GEN V1.4 Board &lt;br /&gt;
* Marlin-1.1.8&lt;br /&gt;
** [http://marlinfw.org/ http://marlinfw.org/]&lt;br /&gt;
** Calculate Extruder thermistor PID&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M303 E0 S235 C10&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
Recv: PID Autotune finished! Put the last Kp, Ki and Kd constants from below into Configuration.h&lt;br /&gt;
Recv: #define  DEFAULT_Kp 15.42&lt;br /&gt;
Recv: #define  DEFAULT_Ki 0.65&lt;br /&gt;
Recv: #define  DEFAULT_Kd 91.61&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** Calculate Heat Bed thermistor PID&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M303 E-1 S95 C10&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
Recv: PID Autotune finished! Put the last Kp, Ki and Kd constants from below into Configuration.h&lt;br /&gt;
Recv: #define  DEFAULT_Kp 15.42&lt;br /&gt;
Recv: #define  DEFAULT_Ki 0.65&lt;br /&gt;
Recv: #define  DEFAULT_Kd 91.61&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
** configuration files&lt;br /&gt;
*** configuration.h [[:File:configuration.h|Marlin configuration.h]]&lt;br /&gt;
*** configuration.h [[:File:configuration_adv.h|Marlin configuration_adv.h]]&lt;br /&gt;
** Detail Changes&lt;br /&gt;
*** configuration.h&lt;br /&gt;
*** Baud Rate&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 #define BAUDRATE 250000&lt;br /&gt;
#define BAUDRATE 115200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** MotherBoard&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef MOTHERBOARD&lt;br /&gt;
  //###Nr001 #define MOTHERBOARD BOARD_RAMPS_14_EFB&lt;br /&gt;
  #define MOTHERBOARD BOARD_ANET_10&lt;br /&gt;
#endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Filament&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0&lt;br /&gt;
#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Activate Temperature Sensor Extruder and Bed&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001#define TEMP_SENSOR_0 1&lt;br /&gt;
#define TEMP_SENSOR_0 5&lt;br /&gt;
//###Nr001#define TEMP_SENSOR_BED 0 &lt;br /&gt;
#define TEMP_SENSOR_BED 5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Increase Temp Residency&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 #define TEMP_RESIDENCY_TIME 6  // (seconds)&lt;br /&gt;
#define TEMP_RESIDENCY_TIME 10  // (seconds)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Reduce Max Bed Temp&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 #define BED_MAXTEMP 150&lt;br /&gt;
#define BED_MAXTEMP 130&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Increase PID Functional Range&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature&lt;br /&gt;
#define PID_FUNCTIONAL_RANGE 15 // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Add My Own PID value based on the automated calculation&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 ANET A8 Customized Value&lt;br /&gt;
//###Nr001  #define  DEFAULT_Kp 21.0&lt;br /&gt;
//###Nr001  #define  DEFAULT_Ki 1.25&lt;br /&gt;
//###Nr001  #define  DEFAULT_Kd 86.0 &lt;br /&gt;
#define  DEFAULT_Kp 15.42&lt;br /&gt;
#define  DEFAULT_Ki 0.65&lt;br /&gt;
#define  DEFAULT_Kd 91.61&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Enable Bed Limit Switch&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 &lt;br /&gt;
#define BED_LIMIT_SWITCHING&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Change ENDSTOP_INVERTING&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Mechanical endstop with COM to ground and NC to Signal uses &amp;quot;false&amp;quot; here (most common setup).&lt;br /&gt;
//###Nr001 #define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.&lt;br /&gt;
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.&lt;br /&gt;
//###Nr001 #define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.&lt;br /&gt;
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.&lt;br /&gt;
//###Nr001 #define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.&lt;br /&gt;
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.&lt;br /&gt;
&lt;br /&gt;
#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.&lt;br /&gt;
#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.&lt;br /&gt;
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.&lt;br /&gt;
//###Nr001 #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.&lt;br /&gt;
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.&lt;br /&gt;
&lt;br /&gt;
// Enable this feature if all enabled endstop pins are interrupt-capable.&lt;br /&gt;
// This will remove the need to poll the interrupt pins, saving many CPU cycles.&lt;br /&gt;
//###Nr001&lt;br /&gt;
#define ENDSTOP_INTERRUPTS_FEATURE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Setup Stepper Direction.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.&lt;br /&gt;
#define INVERT_X_DIR false&lt;br /&gt;
//###Nr001 #define INVERT_Y_DIR true&lt;br /&gt;
#define INVERT_Y_DIR false&lt;br /&gt;
//###Nr001 #define INVERT_Z_DIR false&lt;br /&gt;
#define INVERT_Z_DIR true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Adjust Steps Per Unit (steps / mm)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 #define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 4000, 500 }&lt;br /&gt;
#define DEFAULT_AXIS_STEPS_PER_UNIT   {100,  100, 400, 100}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Default Max Feed Rate (mm/s)&lt;br /&gt;
 * Override with M203&lt;br /&gt;
 *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]&lt;br /&gt;
 */&lt;br /&gt;
//###Nr001 #define DEFAULT_MAX_FEEDRATE          { 300, 300, 5, 25 }&lt;br /&gt;
#define DEFAULT_MAX_FEEDRATE          {400, 400, 8, 50}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Default Max Acceleration (change/s) change = mm/s&lt;br /&gt;
 * (Maximum start speed for accelerated moves)&lt;br /&gt;
 * Override with M201&lt;br /&gt;
 *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]&lt;br /&gt;
 */&lt;br /&gt;
//###Nr001 #define DEFAULT_MAX_ACCELERATION      { 3000, 3000, 100, 10000 }&lt;br /&gt;
#define DEFAULT_MAX_ACCELERATION      { 2000, 2000, 100, 10000 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Adjust Accelerations&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 #define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration for printing moves&lt;br /&gt;
#define DEFAULT_ACCELERATION          400     // X, Y, Z and E acceleration for printing moves&lt;br /&gt;
//###Nr001 #define DEFAULT_RETRACT_ACCELERATION  3000    // E acceleration for retracts&lt;br /&gt;
#define DEFAULT_RETRACT_ACCELERATION  1000    // E acceleration for retracts&lt;br /&gt;
//###Nr001 #define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration for travel (non printing) moves&lt;br /&gt;
#define DEFAULT_TRAVEL_ACCELERATION   1000    // X, Y, Z acceleration for travel (non printing) moves&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Define Printer Characteristics&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// The size of the print bed&lt;br /&gt;
//###Nr001 #define X_BED_SIZE 200&lt;br /&gt;
#define X_BED_SIZE 220&lt;br /&gt;
//###Nr001 #define Y_BED_SIZE 200&lt;br /&gt;
#define Y_BED_SIZE 220&lt;br /&gt;
&lt;br /&gt;
// Travel limits (mm) after homing, corresponding to endstop positions.&lt;br /&gt;
//###Nr001 #define X_MIN_POS 0&lt;br /&gt;
#define X_MIN_POS     -33&lt;br /&gt;
//###Nr001 #define Y_MIN_POS 0&lt;br /&gt;
#define Y_MIN_POS     -10&lt;br /&gt;
//###Nr001 #define Z_MAX_POS 200&lt;br /&gt;
#define Z_MAX_POS     240&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Perform Z Autohome on the bed Z_SAFE_HOMING&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Use &amp;quot;Z Safe Homing&amp;quot; to avoid homing with a Z probe outside the bed area.&lt;br /&gt;
//###Nr001&lt;br /&gt;
#define Z_SAFE_HOMING&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Enable SD Card&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 &lt;br /&gt;
#define SDSUPPORT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Enable LCD for Anet A8&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001 &lt;br /&gt;
#define ZONESTAR_LCD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Setup Autoleveling&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//###Nr001&lt;br /&gt;
#define FIX_MOUNTED_PROBE&lt;br /&gt;
&lt;br /&gt;
//###Nr001&lt;br /&gt;
#define AUTO_BED_LEVELING_LINEAR&lt;br /&gt;
&lt;br /&gt;
//###Nr001  #define G26_MESH_VALIDATION   // Enable G26 mesh validation&lt;br /&gt;
&lt;br /&gt;
//###Nr001 #define GRID_MAX_POINTS_X 3&lt;br /&gt;
#define GRID_MAX_POINTS_X 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** Adjust Probe&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Set the boundaries for probing (where the probe can reach).&lt;br /&gt;
//###Nr001 #define LEFT_PROBE_BED_POSITION 15&lt;br /&gt;
#define LEFT_PROBE_BED_POSITION 20&lt;br /&gt;
//###Nr001 #define RIGHT_PROBE_BED_POSITION 170&lt;br /&gt;
#define RIGHT_PROBE_BED_POSITION 195&lt;br /&gt;
//###Nr001 #define FRONT_PROBE_BED_POSITION 20&lt;br /&gt;
#define FRONT_PROBE_BED_POSITION 30&lt;br /&gt;
#define BACK_PROBE_BED_POSITION 190&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SoftWare==&lt;br /&gt;
&lt;br /&gt;
===Cura===&lt;br /&gt;
&lt;br /&gt;
====Setup====&lt;br /&gt;
=====Machine Setup=====&lt;br /&gt;
* Printer Setting&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x: 220&lt;br /&gt;
Y: 220&lt;br /&gt;
Z: 240&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Print Head Setting&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
X min: 0&lt;br /&gt;
Y min: 0&lt;br /&gt;
X max: 0&lt;br /&gt;
y max: 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ganty height: 0&lt;br /&gt;
* Nozzle size: .04&lt;br /&gt;
&lt;br /&gt;
* Machine Center is Zero: Not Selected&lt;br /&gt;
* Heated Bed            : Select&lt;br /&gt;
&lt;br /&gt;
* Start GCode&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
G21 ;metric values&lt;br /&gt;
G90 ;absolute positioning&lt;br /&gt;
M82 ;set extruder to absolute mode&lt;br /&gt;
M107 ;start with the fan off&lt;br /&gt;
G28 X0 Y0 ;move X/Y to min endstops&lt;br /&gt;
G28 Z0 ;move Z to min endstops&lt;br /&gt;
G29 ;Autoleveling&lt;br /&gt;
G1 Z15.0 F9000 ;move the platform down 15mm&lt;br /&gt;
G92 E0 ;zero the extruded length&lt;br /&gt;
G1 F200 E3 ;extrude 3mm of feed stock&lt;br /&gt;
G92 E0 ;zero the extruded length again&lt;br /&gt;
G1 F9000&lt;br /&gt;
M117 Printing...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* End GCode&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M104 S0 ;extruder heater off&lt;br /&gt;
M140 S0 ;heated bed heater off (if you have it)&lt;br /&gt;
G91 ;relative positioning&lt;br /&gt;
G1 E-1 F300  ;retract the filament a bit before lifting the nozzle, to release some of the pressure&lt;br /&gt;
G1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more&lt;br /&gt;
G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way&lt;br /&gt;
M84 ;steppers off&lt;br /&gt;
G90 ;absolute positioning&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===OctoPrint===&lt;br /&gt;
&lt;br /&gt;
==== Alias ll ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -i -e &#039;$ a alias ll=&amp;quot;ls -alF&amp;quot;&#039; /etc/bash.bashrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Network ====&lt;br /&gt;
&lt;br /&gt;
* Disable haproxy (no need as using Apache2 proxy)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl disable haproxy&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Setup octoprint python program for listening 0.0.0.0&lt;br /&gt;
** Update the address in /etc/systemd/system/octoprint.service&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Service]&lt;br /&gt;
Environment=&amp;quot;HOST=0.0.0.0&amp;quot;&lt;br /&gt;
Environment=&amp;quot;PORT=5000&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Change Webcam listner to 0.0.0.0 #&lt;br /&gt;
** Add the following into /boot/octopi.txt&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
camera_http_options=&amp;quot;-n --listen 0.0.0.0&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Switch On/Off====&lt;br /&gt;
* In /etc/init.d/octoprint, add the following before RETVAL=&amp;quot;$?&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gpio export 18 out&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add switch on off&lt;br /&gt;
/home/pi/.octoprint/config.yaml&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
system:&lt;br /&gt;
  actions:&lt;br /&gt;
  - action: led on&lt;br /&gt;
    command: gpio -g write 18 1&lt;br /&gt;
    name: Turn on the led&lt;br /&gt;
  - action: led off&lt;br /&gt;
    command: gpio -g write 18 0&lt;br /&gt;
    confirm: You are about to turn off the led.&lt;br /&gt;
    name: Turn off the led&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Stream On/Off====&lt;br /&gt;
* Add switch on off&lt;br /&gt;
/home/pi/.octoprint/config.yaml&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
system:&lt;br /&gt;
  actions:&lt;br /&gt;
  - action: streamon&lt;br /&gt;
    command: sudo /bin/systemctl start webcamd&lt;br /&gt;
    confirm: false&lt;br /&gt;
    name: Start video stream&lt;br /&gt;
  - action: streamoff&lt;br /&gt;
    command: sudo /bin/systemctl stop webcamd&lt;br /&gt;
    confirm: true&lt;br /&gt;
    name: Stop video stream&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add pi execution without password in /etc/sudoers&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pi ALL=(ALL) NOPASSWD: ALL&lt;br /&gt;
or &lt;br /&gt;
pi ALL=(ALL) NOPASSWD: /bin/systemctl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Z-Offset====&lt;br /&gt;
* Display and change Z-Offset Value&lt;br /&gt;
/home/pi/.octoprint/config.yaml&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
controls:&lt;br /&gt;
- children:&lt;br /&gt;
  - command: M628&lt;br /&gt;
    default: &#039;&#039;&lt;br /&gt;
    name: Get&lt;br /&gt;
    regex: z zero offset value:(?P&amp;lt;offset&amp;gt;\d+(\.\d*))&lt;br /&gt;
    template: &#039;Current: {offset} mm&#039;&lt;br /&gt;
    width: &#039;5&#039;&lt;br /&gt;
  - command: M628 Z%(offset)s&lt;br /&gt;
    input:&lt;br /&gt;
    - default: &#039;0.00&#039;&lt;br /&gt;
      name: New (mm)&lt;br /&gt;
      parameter: offset&lt;br /&gt;
      slider: false&lt;br /&gt;
    name: Set&lt;br /&gt;
    width: &#039;5&#039;&lt;br /&gt;
  - command: G28 Z0&lt;br /&gt;
    name: Home Z&lt;br /&gt;
    width: &#039;2&#039;&lt;br /&gt;
  collapsed: true&lt;br /&gt;
  layout: horizontal_grid&lt;br /&gt;
  name: Adjust Z Offset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Slic3r====&lt;br /&gt;
* Configuration file&lt;br /&gt;
** Cura 15 configuration file [[File:Configuration_file_for_Cura-15.04.ini]]&lt;br /&gt;
&lt;br /&gt;
* slic3r_install.sh&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;Shell script created by Javier Martínez Arrieta for Slic3r installation\n&amp;quot;&lt;br /&gt;
 #Ask the user for a version&lt;br /&gt;
 echo &amp;quot;Please indicate which version you desire to be installed (e.g. 1.1.7)&amp;quot;&lt;br /&gt;
 read version&lt;br /&gt;
 echo &amp;quot;The installation of Slic3r takes a long time. PLease be patient&amp;quot;&lt;br /&gt;
 cd $HOME&lt;br /&gt;
 echo &amp;quot;Installing required libraries and dependencies...&amp;quot;&lt;br /&gt;
 sudo apt-get install git libboost-system-dev libboost-thread-dev git-core build-essential libgtk2.0-dev libwxgtk2.8-dev libwx-perl libmodule-build-perl libnet-dbus-perl cpanminus libextutils-cbuilder-perl gcc-4.7 g++-4.7 libwx-perl libperl-dev&lt;br /&gt;
 sudo cpanm AAR/Boost-Geometry-Utils-0.06.tar.gz Math::Clipper Math::ConvexHull Math::ConvexHull::MonotoneChain Math::Geometry::Voronoi Math::PlanePath Moo IO::Scalar Class::XSAccessor Growl::GNTP XML::SAX::ExpatXS PAR::Packer&lt;br /&gt;
 echo &amp;quot;Cloning Slic3r repository...&amp;quot;&lt;br /&gt;
 git clone https://github.com/alexrj/Slic3r.git&lt;br /&gt;
 cd Slic3r&lt;br /&gt;
 git checkout $version&lt;br /&gt;
 echo &amp;quot;Building and testing Scli3r...&amp;quot;&lt;br /&gt;
 sudo perl Build.PL&lt;br /&gt;
 echo &amp;quot;If everything was installed properly,you should be able to run Slic3r with the command ./slic3r.pl&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Disable under power warning ====&lt;br /&gt;
* edit /boot/config.txt and add the following lines at the end &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Disable under voltage warnings&lt;br /&gt;
avoid_warnings=1&lt;br /&gt;
avoid_warnings=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Terminal Gcode Commande===&lt;br /&gt;
====Adjust Z Offset====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M851 Z0; // Set the Z offset to zero height&lt;br /&gt;
G28;     // Home Z in the middle of the bed&lt;br /&gt;
G1 Z0;   // This will move the head to zero height;&lt;br /&gt;
M211 S0; // This will disable the end stops so that you &lt;br /&gt;
         // will be able to proceed lower than Z=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now adjust Z height (note the negative Z height) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M851 Z-1.23; // Define the Z offset&lt;br /&gt;
M500;        // Store the settings&lt;br /&gt;
M211 S1;     // Enable the end stops again&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-1.23 is a fictive value that should be replaced by your own value.&lt;br /&gt;
&lt;br /&gt;
====Extruder Step====&lt;br /&gt;
* Display current value&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M503 // Display current Step values&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* M92 Exyyy (x=Extruder number 0) (yyy=Step value mn)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M92 E0206; // Define the E0 Step value 206&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Resets steps-per-unit for all axes to the values from DEFAULT_AXIS_STEPS_PER_UNIT&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M502&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Save Value &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M500&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Adjust PID====&lt;br /&gt;
*  Calculate PID for extruder for 220 degre 10 Cycle&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M303 E0 S220 C8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Change Extruder PID value&lt;br /&gt;
220 Degree&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M301 P30.22 I2.48 D92.22&lt;br /&gt;
M301 P25 I1.8  D92&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
230 Degree&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M301 P18.00 I1.2 D80&lt;br /&gt;
M301 P13.00 I1 D80&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Save Setting&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M500&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* PID Autotune for bed&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M303 E-1 S60 C8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Change Bed PID value&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M304 P167.05 I31.37 D222.38 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Certificate&amp;diff=1345</id>
		<title>Certificate</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Certificate&amp;diff=1345"/>
		<updated>2025-08-18T14:12:06Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Remove certificate */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Install certbot ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install certbot&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Request a wildcard certificat ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
certbot certonly --manual --preferred-challenges=dns --email webmaster@objclt.ca --server https://acme-v02.api.letsencrypt.org/directory --agree-tos -d *.objclt.ca&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update your DNS ===&lt;br /&gt;
Please deploy a DNS TXT record under the name&lt;br /&gt;
_acme-challenge.objclt.ca with the following value:&lt;br /&gt;
&lt;br /&gt;
d2MbmqrvfiohoavRiquicUZZXCfKda5ApasdaafI  (DO NOT USE THAT VALUE !!!) &lt;br /&gt;
&lt;br /&gt;
Before continuing, verify the record is deployed.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
_acme-challenge.objclt.ca.	IN	TXT	&amp;quot;d2MbmqrvfiohoavRiquicUZZXCfKda5ApasdaafI&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Inquiry external DNS server ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
dig -t txt _acme-challenge.objclt.ca. @ns6.gandi.net&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== certificate generated ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
IMPORTANT NOTES:&lt;br /&gt;
 - Congratulations! Your certificate and chain have been saved at:&lt;br /&gt;
   /etc/letsencrypt/live/objclt.ca-0001/fullchain.pem&lt;br /&gt;
   Your key file has been saved at:&lt;br /&gt;
   /etc/letsencrypt/live/objclt.ca-0001/privkey.pem&lt;br /&gt;
   Your cert will expire on 2020-01-10. To obtain a new or tweaked&lt;br /&gt;
   version of this certificate in the future, simply run certbot&lt;br /&gt;
   again. To non-interactively renew *all* of your certificates, run&lt;br /&gt;
   &amp;quot;certbot renew&amp;quot;&lt;br /&gt;
 - If you like Certbot, please consider supporting our work by:&lt;br /&gt;
&lt;br /&gt;
   Donating to ISRG / Let&#039;s Encrypt:   https://letsencrypt.org/donate&lt;br /&gt;
   Donating to EFF:                    https://eff.org/donate-le&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Validate the certificate == &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl s_client -crlf -connect mail.objclt.ca:993&lt;br /&gt;
openssl s_client -connect mail.objclt.ca:[port] -servername mail.objclt.ca&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Renew Certificate ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
certbot renew&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove certificate ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
certbot revoke --cert-path /etc/letsencrypt/live/&amp;lt;certificate_name&amp;gt;/cert.pem&lt;br /&gt;
certbot delete --cert-name &amp;lt;your_domain&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tools to validate configuration ==&lt;br /&gt;
** [https://www.ssllabs.com/ssltest/ ssltest]&lt;br /&gt;
** [https://ssl-tools.net/mailservers  ssl-tools]&lt;br /&gt;
** [https://www.checktls.com  CheckTls]&lt;br /&gt;
** [https://mxtoolbox.com/diagnostic.aspx  MxToobox]&lt;br /&gt;
** [https://www.immuniweb.com/ssl/  ImmuniWeb]&lt;br /&gt;
** Certificate monitoring&lt;br /&gt;
*** [https://app.redsift.cloud/ Red Sift]&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Unix_Container&amp;diff=1344</id>
		<title>Unix Container</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Unix_Container&amp;diff=1344"/>
		<updated>2025-07-21T03:19:26Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Container Howto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Container Howto==&lt;br /&gt;
===Web Site===&lt;br /&gt;
Docker [[https://docker.com docker.com]]&lt;br /&gt;
&lt;br /&gt;
Containers at Docker Store [[https://store.docker.com/ store.docker.com]]&lt;br /&gt;
&lt;br /&gt;
===Install and run a container=== &lt;br /&gt;
&amp;lt;pre&amp;gt;docker run -i -t ubuntu:18:04 /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Create an image from a container Commit===&lt;br /&gt;
* &amp;quot;b5673dbced61&amp;quot; is an image id &lt;br /&gt;
&amp;lt;pre&amp;gt;docker commit -m &amp;quot;Ubuntu 14.10 Demonstrator&amp;quot; -a &amp;quot;Author Name&amp;quot; b5673dbced61 demo:14.10&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List Images (Source to initiare a containers)===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker images&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Remove an image &amp;quot;b5673dbced61&amp;quot; is an image id===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker rmi b5673dbced61 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Create a volume===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker volume create --name node_red_user_data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List volumes===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker volume ls&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List containers (Running Virtual Machines)=== &lt;br /&gt;
* Running: &lt;br /&gt;
&amp;lt;pre&amp;gt; docker ps&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Full List&lt;br /&gt;
&amp;lt;pre&amp;gt; docker ps -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Start and Stop a container=== &lt;br /&gt;
* Stop&lt;br /&gt;
&amp;lt;pre&amp;gt;docker stop &amp;quot;containerId or Name&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Start (Batch)&lt;br /&gt;
&amp;lt;pre&amp;gt;docker start &amp;quot;containerId or Name&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Start (and login in)&lt;br /&gt;
&amp;lt;pre&amp;gt;docker start -i &amp;quot;containerId or Name&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Update a restart option===&lt;br /&gt;
* no&lt;br /&gt;
* on-failure&lt;br /&gt;
* unless-stopped&lt;br /&gt;
* always&lt;br /&gt;
&amp;lt;pre&amp;gt;docker update --restart=on-failure &amp;lt;container&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Run a command inside the container===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker exec -it openxchange01 service apache2 start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Relogin&amp;quot; (Attach) into a Container===&lt;br /&gt;
* &amp;quot;Relogin into a running container&lt;br /&gt;
&amp;lt;pre&amp;gt;docker attach &amp;quot;container Name&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Save an image===&lt;br /&gt;
* &amp;quot;asw20/mailserver&amp;quot; is the image tag&lt;br /&gt;
&amp;lt;pre&amp;gt;docker save asw20/mailserver:latest -o mailserver.tar&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Save all images===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker save $(docker images | sed &#039;1d&#039; | awk &#039;{print $1 &amp;quot;:&amp;quot; $2 }&#039;) -o dockerimages.tar&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restore image===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker load -i dockerimages.tar&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Remove a container===&lt;br /&gt;
* &amp;quot;d0955f21bf24&amp;quot; is a container Id&lt;br /&gt;
&amp;lt;pre&amp;gt;docker rm d0955f21bf24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Remove all containers=== &lt;br /&gt;
&amp;lt;pre&amp;gt;docker stop $(docker ps -a -q)&lt;br /&gt;
docker rm $(docker ps -a -q)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Advence Topics==&lt;br /&gt;
&lt;br /&gt;
===Build an image from a Dockerfile===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker build -t objectif/appname -f pathtoDockerfile&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;docker build -t [username]/docker-desktop git://github.com/rogaha/docker-desktop.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Execute more advances===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker run -i -t --net=&amp;quot;bridge&amp;quot; --name Demo -v /opt/docker/data mindesktop:v01.01&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Dockerfile Sample===&lt;br /&gt;
====node Js app====&lt;br /&gt;
* Create a new directory&lt;br /&gt;
=====Create node app=====&lt;br /&gt;
* Create package.json&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;name&amp;quot;: &amp;quot;docker_web_app&amp;quot;,&lt;br /&gt;
  &amp;quot;version&amp;quot;: &amp;quot;1.0.0&amp;quot;,&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Node.js on Docker&amp;quot;,&lt;br /&gt;
  &amp;quot;author&amp;quot;: &amp;quot;First Last &amp;lt;first.last@example.com&amp;gt;&amp;quot;,&lt;br /&gt;
  &amp;quot;main&amp;quot;: &amp;quot;server.js&amp;quot;,&lt;br /&gt;
  &amp;quot;scripts&amp;quot;: {&lt;br /&gt;
    &amp;quot;start&amp;quot;: &amp;quot;node server.js&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;dependencies&amp;quot;: {&lt;br /&gt;
    &amp;quot;express&amp;quot;: &amp;quot;^4.16.1&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create server.js &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
const express = require(&#039;express&#039;);&lt;br /&gt;
&lt;br /&gt;
// Constants&lt;br /&gt;
const PORT = 8080;&lt;br /&gt;
const HOST = &#039;0.0.0.0&#039;;&lt;br /&gt;
&lt;br /&gt;
// App&lt;br /&gt;
const app = express();&lt;br /&gt;
app.get(&#039;/&#039;, (req, res) =&amp;gt; {&lt;br /&gt;
  res.send(&#039;Hello world\n&#039;);&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
app.listen(PORT, HOST);&lt;br /&gt;
console.log(`Running on http://${HOST}:${PORT}`);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Create Dockerfile=====&lt;br /&gt;
* Create a file Dockerfile&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FROM node:10&lt;br /&gt;
&lt;br /&gt;
# Create app directory&lt;br /&gt;
WORKDIR /usr/src/app&lt;br /&gt;
&lt;br /&gt;
# Install app dependencies&lt;br /&gt;
# A wildcard is used to ensure both package.json AND package-lock.json are copied&lt;br /&gt;
# where available (npm@5+)&lt;br /&gt;
COPY package*.json ./&lt;br /&gt;
&lt;br /&gt;
RUN npm install&lt;br /&gt;
# If you are building your code for production&lt;br /&gt;
# RUN npm ci --only=production&lt;br /&gt;
&lt;br /&gt;
# Bundle app source&lt;br /&gt;
COPY . .&lt;br /&gt;
&lt;br /&gt;
EXPOSE 8080&lt;br /&gt;
CMD [ &amp;quot;node&amp;quot;, &amp;quot;server.js&amp;quot; ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a file .dockerignore&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
node_modules&lt;br /&gt;
npm-debug.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Build Image=====&lt;br /&gt;
* Don&#039;t forget the &amp;quot;.&amp;quot; at the end...&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker build -t &amp;lt;username&amp;gt;/&amp;lt;applicationname&amp;gt; .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====List Images=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker images&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Run Image=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run &amp;lt;username&amp;gt;/&amp;lt;applicationname&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ghost (Blog Server)====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FROM komljen/nodejs&lt;br /&gt;
MAINTAINER Alen Komljen &amp;lt;alen.komljen@live.com&amp;gt;&lt;br /&gt;
ENV GHOST_VERSION 0.5.7&lt;br /&gt;
ENV APP_ROOT /data/app&lt;br /&gt;
RUN \&lt;br /&gt;
curl -sLO http://ghost.org/archives/ghost-${GHOST_VERSION}.zip &amp;amp;&amp;amp; \&lt;br /&gt;
mkdir -p ${APP_ROOT} &amp;amp;&amp;amp; \&lt;br /&gt;
unzip -uo ghost-${GHOST_VERSION}.zip -d ${APP_ROOT} &amp;amp;&amp;amp; \&lt;br /&gt;
rm ghost-${GHOST_VERSION}.zip&lt;br /&gt;
RUN \&lt;br /&gt;
cd ${APP_ROOT} &amp;amp;&amp;amp; \&lt;br /&gt;
npm install --production&lt;br /&gt;
ADD start.sh start.sh&lt;br /&gt;
VOLUME [&amp;quot;$APP_ROOT&amp;quot;]&lt;br /&gt;
RUN rm /usr/sbin/policy-rc.d&lt;br /&gt;
CMD [&amp;quot;/start.sh&amp;quot;]&lt;br /&gt;
EXPOSE 2368&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gui management solution for Docker==&lt;br /&gt;
&lt;br /&gt;
=== Portainer ===&lt;br /&gt;
Web site [https://portainer.io/ https://portainer.io]&lt;br /&gt;
&lt;br /&gt;
Dashboard access&lt;br /&gt;
[http://localhost:9000/#/dashboard http://localhost:9000/#/dashboard]&lt;br /&gt;
&lt;br /&gt;
====Deployment====&lt;br /&gt;
&amp;lt;pre&amp;gt;docker run -d --name myPortainer -p 9000:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer-ce&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Upgrade====&lt;br /&gt;
* Stop Portainer&lt;br /&gt;
* Remove Portainer&lt;br /&gt;
* Pull new /upgraded image&lt;br /&gt;
* Recreate Portainer&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker stop myPortainer&lt;br /&gt;
docker rm myPortainer&lt;br /&gt;
docker pull portainer/portainer-ce&lt;br /&gt;
docker run -d --name myPortainer -p 9000:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer-ce --trusted-origins portainer.objclt.ca&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Docker Server Remote Management ==&lt;br /&gt;
&lt;br /&gt;
# These commands get run inside of your VM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Create the directory to store the configuration file.&lt;br /&gt;
sudo mkdir -p /etc/systemd/system/docker.service.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Create a new file to store the daemon options.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/docker.service.d/options.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Now make it look like this and save the file when you&#039;re done:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=&lt;br /&gt;
ExecStart=/usr/bin/dockerd -H unix:// -H tcp://0.0.0.0:2375&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Reload the systemd daemon.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Restart Docker.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl restart docker&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Unix_Container&amp;diff=1343</id>
		<title>Unix Container</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Unix_Container&amp;diff=1343"/>
		<updated>2025-07-21T02:43:51Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Upgrade */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Container Howto==&lt;br /&gt;
===Web Site===&lt;br /&gt;
Docker [[https://docker.com docker.com]]&lt;br /&gt;
&lt;br /&gt;
Containers at Docker Store [[https://store.docker.com/ store.docker.com]]&lt;br /&gt;
&lt;br /&gt;
===Install and run a container=== &lt;br /&gt;
&amp;lt;pre&amp;gt;docker run -i -t ubuntu:18:04 /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Create an image from a container Commit===&lt;br /&gt;
* &amp;quot;b5673dbced61&amp;quot; is an image id &lt;br /&gt;
&amp;lt;pre&amp;gt;docker commit -m &amp;quot;Ubuntu 14.10 Demonstrator&amp;quot; -a &amp;quot;Author Name&amp;quot; b5673dbced61 demo:14.10&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List Images (Source to initiare a containers)===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker images&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Remove an image &amp;quot;b5673dbced61&amp;quot; is an image id===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker rmi b5673dbced61 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Create a volume===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker volume create --name node_red_user_data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List volumes===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker volume ls&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List containers (Running Virtual Machines)=== &lt;br /&gt;
* Running: &lt;br /&gt;
&amp;lt;pre&amp;gt; docker ps&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Full List&lt;br /&gt;
&amp;lt;pre&amp;gt; docker ps -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Start and Stop a container=== &lt;br /&gt;
* Stop&lt;br /&gt;
&amp;lt;pre&amp;gt;docker stop &amp;quot;containerId or Name&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Start (Batch)&lt;br /&gt;
&amp;lt;pre&amp;gt;docker start &amp;quot;containerId or Name&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Start (and login in)&lt;br /&gt;
&amp;lt;pre&amp;gt;docker start -i &amp;quot;containerId or Name&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Update a restart option===&lt;br /&gt;
* no&lt;br /&gt;
* on-failure&lt;br /&gt;
* unless-stopped&lt;br /&gt;
* always&lt;br /&gt;
&amp;lt;pre&amp;gt;docker update --restart=on-failure &amp;lt;container&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Relogin&amp;quot; (Attach) into a Container===&lt;br /&gt;
* &amp;quot;Relogin into a running container&lt;br /&gt;
&amp;lt;pre&amp;gt;docker attach &amp;quot;container Name&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Save an image===&lt;br /&gt;
* &amp;quot;asw20/mailserver&amp;quot; is the image tag&lt;br /&gt;
&amp;lt;pre&amp;gt;docker save asw20/mailserver:latest -o mailserver.tar&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Save all images===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker save $(docker images | sed &#039;1d&#039; | awk &#039;{print $1 &amp;quot;:&amp;quot; $2 }&#039;) -o dockerimages.tar&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restore image===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker load -i dockerimages.tar&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Remove a container===&lt;br /&gt;
* &amp;quot;d0955f21bf24&amp;quot; is a container Id&lt;br /&gt;
&amp;lt;pre&amp;gt;docker rm d0955f21bf24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Remove all containers=== &lt;br /&gt;
&amp;lt;pre&amp;gt;docker stop $(docker ps -a -q)&lt;br /&gt;
docker rm $(docker ps -a -q)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Advence Topics==&lt;br /&gt;
&lt;br /&gt;
===Build an image from a Dockerfile===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker build -t objectif/appname -f pathtoDockerfile&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;docker build -t [username]/docker-desktop git://github.com/rogaha/docker-desktop.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Execute more advances===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker run -i -t --net=&amp;quot;bridge&amp;quot; --name Demo -v /opt/docker/data mindesktop:v01.01&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Dockerfile Sample===&lt;br /&gt;
====node Js app====&lt;br /&gt;
* Create a new directory&lt;br /&gt;
=====Create node app=====&lt;br /&gt;
* Create package.json&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;name&amp;quot;: &amp;quot;docker_web_app&amp;quot;,&lt;br /&gt;
  &amp;quot;version&amp;quot;: &amp;quot;1.0.0&amp;quot;,&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Node.js on Docker&amp;quot;,&lt;br /&gt;
  &amp;quot;author&amp;quot;: &amp;quot;First Last &amp;lt;first.last@example.com&amp;gt;&amp;quot;,&lt;br /&gt;
  &amp;quot;main&amp;quot;: &amp;quot;server.js&amp;quot;,&lt;br /&gt;
  &amp;quot;scripts&amp;quot;: {&lt;br /&gt;
    &amp;quot;start&amp;quot;: &amp;quot;node server.js&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;dependencies&amp;quot;: {&lt;br /&gt;
    &amp;quot;express&amp;quot;: &amp;quot;^4.16.1&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create server.js &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
const express = require(&#039;express&#039;);&lt;br /&gt;
&lt;br /&gt;
// Constants&lt;br /&gt;
const PORT = 8080;&lt;br /&gt;
const HOST = &#039;0.0.0.0&#039;;&lt;br /&gt;
&lt;br /&gt;
// App&lt;br /&gt;
const app = express();&lt;br /&gt;
app.get(&#039;/&#039;, (req, res) =&amp;gt; {&lt;br /&gt;
  res.send(&#039;Hello world\n&#039;);&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
app.listen(PORT, HOST);&lt;br /&gt;
console.log(`Running on http://${HOST}:${PORT}`);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Create Dockerfile=====&lt;br /&gt;
* Create a file Dockerfile&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FROM node:10&lt;br /&gt;
&lt;br /&gt;
# Create app directory&lt;br /&gt;
WORKDIR /usr/src/app&lt;br /&gt;
&lt;br /&gt;
# Install app dependencies&lt;br /&gt;
# A wildcard is used to ensure both package.json AND package-lock.json are copied&lt;br /&gt;
# where available (npm@5+)&lt;br /&gt;
COPY package*.json ./&lt;br /&gt;
&lt;br /&gt;
RUN npm install&lt;br /&gt;
# If you are building your code for production&lt;br /&gt;
# RUN npm ci --only=production&lt;br /&gt;
&lt;br /&gt;
# Bundle app source&lt;br /&gt;
COPY . .&lt;br /&gt;
&lt;br /&gt;
EXPOSE 8080&lt;br /&gt;
CMD [ &amp;quot;node&amp;quot;, &amp;quot;server.js&amp;quot; ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a file .dockerignore&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
node_modules&lt;br /&gt;
npm-debug.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Build Image=====&lt;br /&gt;
* Don&#039;t forget the &amp;quot;.&amp;quot; at the end...&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker build -t &amp;lt;username&amp;gt;/&amp;lt;applicationname&amp;gt; .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====List Images=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker images&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Run Image=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run &amp;lt;username&amp;gt;/&amp;lt;applicationname&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ghost (Blog Server)====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FROM komljen/nodejs&lt;br /&gt;
MAINTAINER Alen Komljen &amp;lt;alen.komljen@live.com&amp;gt;&lt;br /&gt;
ENV GHOST_VERSION 0.5.7&lt;br /&gt;
ENV APP_ROOT /data/app&lt;br /&gt;
RUN \&lt;br /&gt;
curl -sLO http://ghost.org/archives/ghost-${GHOST_VERSION}.zip &amp;amp;&amp;amp; \&lt;br /&gt;
mkdir -p ${APP_ROOT} &amp;amp;&amp;amp; \&lt;br /&gt;
unzip -uo ghost-${GHOST_VERSION}.zip -d ${APP_ROOT} &amp;amp;&amp;amp; \&lt;br /&gt;
rm ghost-${GHOST_VERSION}.zip&lt;br /&gt;
RUN \&lt;br /&gt;
cd ${APP_ROOT} &amp;amp;&amp;amp; \&lt;br /&gt;
npm install --production&lt;br /&gt;
ADD start.sh start.sh&lt;br /&gt;
VOLUME [&amp;quot;$APP_ROOT&amp;quot;]&lt;br /&gt;
RUN rm /usr/sbin/policy-rc.d&lt;br /&gt;
CMD [&amp;quot;/start.sh&amp;quot;]&lt;br /&gt;
EXPOSE 2368&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gui management solution for Docker==&lt;br /&gt;
&lt;br /&gt;
=== Portainer ===&lt;br /&gt;
Web site [https://portainer.io/ https://portainer.io]&lt;br /&gt;
&lt;br /&gt;
Dashboard access&lt;br /&gt;
[http://localhost:9000/#/dashboard http://localhost:9000/#/dashboard]&lt;br /&gt;
&lt;br /&gt;
====Deployment====&lt;br /&gt;
&amp;lt;pre&amp;gt;docker run -d --name myPortainer -p 9000:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer-ce&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Upgrade====&lt;br /&gt;
* Stop Portainer&lt;br /&gt;
* Remove Portainer&lt;br /&gt;
* Pull new /upgraded image&lt;br /&gt;
* Recreate Portainer&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker stop myPortainer&lt;br /&gt;
docker rm myPortainer&lt;br /&gt;
docker pull portainer/portainer-ce&lt;br /&gt;
docker run -d --name myPortainer -p 9000:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer-ce --trusted-origins portainer.objclt.ca&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Docker Server Remote Management ==&lt;br /&gt;
&lt;br /&gt;
# These commands get run inside of your VM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Create the directory to store the configuration file.&lt;br /&gt;
sudo mkdir -p /etc/systemd/system/docker.service.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Create a new file to store the daemon options.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/docker.service.d/options.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Now make it look like this and save the file when you&#039;re done:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=&lt;br /&gt;
ExecStart=/usr/bin/dockerd -H unix:// -H tcp://0.0.0.0:2375&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Reload the systemd daemon.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Restart Docker.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl restart docker&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Flight_Simulator&amp;diff=1342</id>
		<title>Flight Simulator</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Flight_Simulator&amp;diff=1342"/>
		<updated>2025-04-22T13:56:33Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: Created page with &amp;quot; * Velocidrone ** Windows and Ubuntu [https://www.velocidrone.com/ velocidrone.com]   * Unscashed ** Windows only and using steam [https://store.steampowered.com/app/1682970/Uncrashed__FPV_Drone_Simulator/ Uncrashed]&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
* Velocidrone&lt;br /&gt;
** Windows and Ubuntu&lt;br /&gt;
[https://www.velocidrone.com/ velocidrone.com]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Unscashed&lt;br /&gt;
** Windows only and using steam&lt;br /&gt;
[https://store.steampowered.com/app/1682970/Uncrashed__FPV_Drone_Simulator/ Uncrashed]&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=DNS&amp;diff=1341</id>
		<title>DNS</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=DNS&amp;diff=1341"/>
		<updated>2025-04-22T05:38:05Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
* Install Bind &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install bind9 bind9utils bind9-doc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Type of Records ==&lt;br /&gt;
* SOA&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
objclt.ca.	IN	SOA	dns.objclt.ca. webmaster.objclt.ca. (&lt;br /&gt;
			2009010605&lt;br /&gt;
			7200&lt;br /&gt;
			3600&lt;br /&gt;
			1209600&lt;br /&gt;
			38400 )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* NS&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
objclt.ca.	IN	NS	dns.objclt.ca.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* MX&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
objclt.ca.	IN	MX	10 mail.objclt.ca.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* A&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
objclt.ca.	IN	A	69.70.43.62&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* CNAME&lt;br /&gt;
* TXT&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
objclt.ca.	IN	TXT	&amp;quot;v=spf1 a mx a:mail.objclt.ca ip4:69.70.43.62 -all&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sender Permitted From ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OpenDkim ==&lt;br /&gt;
&lt;br /&gt;
== DMARC ==&lt;br /&gt;
&lt;br /&gt;
== DNSSEC Key Signin == &lt;br /&gt;
&lt;br /&gt;
== DNS Validation ==&lt;br /&gt;
* Google&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
@		IN	TXT		google-site-verification=_C1V8AhaVWFwNQn4fO5Id7IXbQTgcC67ItmH9r4SABY&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Usefull Tools ==&lt;br /&gt;
* Configuration Tools&lt;br /&gt;
** [https://webmin.com webmin]&lt;br /&gt;
&lt;br /&gt;
* Test Mx Record&lt;br /&gt;
** [https://mxtoolbox.com/MXLookup.aspx mxtoolbox]&lt;br /&gt;
&lt;br /&gt;
* Test SPF Records&lt;br /&gt;
** [https://tools.wordtothewise.com/spf wordtothewise.com]  &lt;br /&gt;
** [https://www.kitterman.com/spf/validate.html kitterman.com]&lt;br /&gt;
&lt;br /&gt;
== Secondary DNS Server ==&lt;br /&gt;
* buddyns.com&lt;br /&gt;
* [https://www.buddyns.com/buddyboard/account buddyns.com]&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=1340</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=1340"/>
		<updated>2025-04-22T05:34:58Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Business&lt;br /&gt;
** EntrepreneurShip | EntrepreneurShip&lt;br /&gt;
* CMS&lt;br /&gt;
** Wordpress | Word Press&lt;br /&gt;
** Tiki | Tiki&lt;br /&gt;
* Database&lt;br /&gt;
** Cassandra | Cassandra&lt;br /&gt;
** HQL | Hibernate&lt;br /&gt;
** Mysql | MySql&lt;br /&gt;
** MariaDB | MariaDB&lt;br /&gt;
** MongoDb | MongoDb&lt;br /&gt;
** MsSql | MsSql&lt;br /&gt;
** Oracle_Database|Oracle&lt;br /&gt;
** Postgresql | Postgresql&lt;br /&gt;
** RabbitMQ | RabbitMQ&lt;br /&gt;
** Scylla | Scylla&lt;br /&gt;
* Backend&lt;br /&gt;
** Elasticsearch | Elasticsearch&lt;br /&gt;
** Kibana | Kibana&lt;br /&gt;
* Erp&lt;br /&gt;
** JdEdwards | JD Edwards&lt;br /&gt;
** MSDynamics | Ms Dynamics&lt;br /&gt;
** Odoo | Odoo (OpenErp)&lt;br /&gt;
* IOT&lt;br /&gt;
** IOT | Iot­­&lt;br /&gt;
** ESP8266 | ESP8266 &lt;br /&gt;
** Raspberrypi | Raspberrypi&lt;br /&gt;
** Wio Link | Wio Link&lt;br /&gt;
** Node-Red | Node-Red&lt;br /&gt;
** Home-Assistant | Home-Assistant&lt;br /&gt;
* Language&lt;br /&gt;
** Ruby|Ruby&lt;br /&gt;
** Java_Spring_FrameWork | Spring FrameWork&lt;br /&gt;
** Java_Spring_Roo| Roo&lt;br /&gt;
** Grails_Framework| Grails&lt;br /&gt;
** javascript | javascript&lt;br /&gt;
** nodejs | node.js&lt;br /&gt;
** Js Framework&lt;br /&gt;
*** react.js | react.js&lt;br /&gt;
*** KeystoneJS | KeystoneJS&lt;br /&gt;
*** Meteor | Meteor&lt;br /&gt;
* Ldap&lt;br /&gt;
** Ldap Server | Ldap Server&lt;br /&gt;
* IDE&lt;br /&gt;
** Wavemaker | Wavemaker&lt;br /&gt;
** Eclipse | Eclipse&lt;br /&gt;
** NetBean | NetBean&lt;br /&gt;
* Office&lt;br /&gt;
** LibreOffice | Libre and Open Office&lt;br /&gt;
** MSOfficeOnline | Ms Office OnLine&lt;br /&gt;
** Firefox | Firefox&lt;br /&gt;
* Repositories&lt;br /&gt;
** Gitlab | Gitlab&lt;br /&gt;
** Githuh | Github&lt;br /&gt;
** npm | npm&lt;br /&gt;
* System Admin.&lt;br /&gt;
** Linux|Linux&lt;br /&gt;
** Unix Container|Container&lt;br /&gt;
** KVM | KVM&lt;br /&gt;
** Mail Server | Mail Server&lt;br /&gt;
** Web Server | Web Server&lt;br /&gt;
** Windows | Windows&lt;br /&gt;
* 3D Printer | 3D Printer&lt;br /&gt;
* Drones&lt;br /&gt;
** Quad Frame | Quad Frame&lt;br /&gt;
** Gps | Gps&lt;br /&gt;
** OSD | OSD&lt;br /&gt;
** CleanFlight | CleanFlight&lt;br /&gt;
** Flight Controller | Flight Controller&lt;br /&gt;
** Flight Simulator | Flight Simulator&lt;br /&gt;
* Media Wiki&lt;br /&gt;
** Quicklinksmediawiki#Start_with_MediaWiki|Start With Wiki&lt;br /&gt;
** Demo Page|Demo Page&lt;br /&gt;
** Navigation&lt;br /&gt;
*** mainpage|mainpage-description&lt;br /&gt;
*** recentchanges-url|recentchanges&lt;br /&gt;
*** randompage-url|randompage&lt;br /&gt;
*** helppage|help&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=1339</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=1339"/>
		<updated>2025-04-22T05:32:25Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Business&lt;br /&gt;
** EntrepreneurShip | EntrepreneurShip&lt;br /&gt;
* CMS&lt;br /&gt;
** Wordpress | Word Press&lt;br /&gt;
** Tiki | Tiki&lt;br /&gt;
* Database&lt;br /&gt;
** Cassandra | Cassandra&lt;br /&gt;
** HQL | Hibernate&lt;br /&gt;
** Mysql | MySql&lt;br /&gt;
** MariaDB | MariaDB&lt;br /&gt;
** MongoDb | MongoDb&lt;br /&gt;
** MsSql | MsSql&lt;br /&gt;
** Oracle_Database|Oracle&lt;br /&gt;
** Postgresql | Postgresql&lt;br /&gt;
** RabbitMQ | RabbitMQ&lt;br /&gt;
** Scylla | Scylla&lt;br /&gt;
* Backend&lt;br /&gt;
** Elasticsearch | Elasticsearch&lt;br /&gt;
** Kibana | Kibana&lt;br /&gt;
* Erp&lt;br /&gt;
** JdEdwards | JD Edwards&lt;br /&gt;
** MSDynamics | Ms Dynamics&lt;br /&gt;
** Odoo | Odoo (OpenErp)&lt;br /&gt;
* IOT&lt;br /&gt;
** IOT | Iot­­&lt;br /&gt;
** ESP8266 | ESP8266 &lt;br /&gt;
** Wio Link | Wio Link&lt;br /&gt;
** Node-Red | Node-Red&lt;br /&gt;
** Home-Assistant | Home-Assistant&lt;br /&gt;
* Language&lt;br /&gt;
** Ruby|Ruby&lt;br /&gt;
** Java_Spring_FrameWork | Spring FrameWork&lt;br /&gt;
** Java_Spring_Roo| Roo&lt;br /&gt;
** Grails_Framework| Grails&lt;br /&gt;
** javascript | javascript&lt;br /&gt;
** nodejs | node.js&lt;br /&gt;
** Js Framework&lt;br /&gt;
*** react.js | react.js&lt;br /&gt;
*** KeystoneJS | KeystoneJS&lt;br /&gt;
*** Meteor | Meteor&lt;br /&gt;
* Ldap&lt;br /&gt;
** Ldap Server | Ldap Server&lt;br /&gt;
* IDE&lt;br /&gt;
** Wavemaker | Wavemaker&lt;br /&gt;
** Eclipse | Eclipse&lt;br /&gt;
** NetBean | NetBean&lt;br /&gt;
* Office&lt;br /&gt;
** LibreOffice | Libre and Open Office&lt;br /&gt;
** MSOfficeOnline | Ms Office OnLine&lt;br /&gt;
** Firefox | Firefox&lt;br /&gt;
* Repositories&lt;br /&gt;
** Gitlab | Gitlab&lt;br /&gt;
** Githuh | Github&lt;br /&gt;
** npm | npm&lt;br /&gt;
* System Admin.&lt;br /&gt;
** Linux|Linux&lt;br /&gt;
** Unix Container|Container&lt;br /&gt;
** KVM | KVM&lt;br /&gt;
** Mail Server | Mail Server&lt;br /&gt;
** Web Server | Web Server&lt;br /&gt;
** Windows | Windows&lt;br /&gt;
* Hobby&lt;br /&gt;
** 3D Printer | 3D Printer&lt;br /&gt;
** Drones&lt;br /&gt;
*** Quad Frame | Quad Frame&lt;br /&gt;
*** Gps | Gps&lt;br /&gt;
*** OSD | OSD&lt;br /&gt;
*** CleanFlight | CleanFlight&lt;br /&gt;
*** Flight Controller | Flight Controller&lt;br /&gt;
*** Flight Simulator | Flight Simulator&lt;br /&gt;
** Raspberrypi | Raspberrypi&lt;br /&gt;
** IOT | Iot­­&lt;br /&gt;
* Media Wiki&lt;br /&gt;
** Quicklinksmediawiki#Start_with_MediaWiki|Start With Wiki&lt;br /&gt;
** Demo Page|Demo Page&lt;br /&gt;
** Navigation&lt;br /&gt;
*** mainpage|mainpage-description&lt;br /&gt;
*** recentchanges-url|recentchanges&lt;br /&gt;
*** randompage-url|randompage&lt;br /&gt;
*** helppage|help&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Tree_view&amp;diff=1338</id>
		<title>Tree view</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Tree_view&amp;diff=1338"/>
		<updated>2025-04-22T05:27:59Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* SideBarre Menu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Test]]&lt;br /&gt;
[[Category:Demo]]&lt;br /&gt;
== Module ==&lt;br /&gt;
Download module at [[http://www.mediawiki.org/wiki/Extension:TreeAndMenu TreeAndMenu]]&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
Copy file into extensions folder&lt;br /&gt;
Add the following code at the end of LocalSettings.php&lt;br /&gt;
&amp;lt;pre&amp;gt;wfLoadExtension( &#039;TreeAndMenu&#039; ); &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sample code &amp;lt;pre&amp;gt;&lt;br /&gt;
{{#tree:root=Step by Step web site Creation|&lt;br /&gt;
* Enregistrement&lt;br /&gt;
&lt;br /&gt;
** Registraire&lt;br /&gt;
***[[http://gandi.net gandi]]&lt;br /&gt;
&lt;br /&gt;
** All in one&lt;br /&gt;
*** [[http://www.hostpapa.ca hostpapa]]&lt;br /&gt;
&lt;br /&gt;
** Social Media &lt;br /&gt;
*** Google +&lt;br /&gt;
Must create a page&lt;br /&gt;
[[https://plus.google.com Google +]]&lt;br /&gt;
&lt;br /&gt;
*** [[http://facebook.com Facebook]]&lt;br /&gt;
*** [[http://linkedin.com Linkedin ]]&lt;br /&gt;
Etc ...&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Result ==&lt;br /&gt;
{{#tree:root=Step by Step web site Creation|&lt;br /&gt;
* Enregistrement&lt;br /&gt;
** Registraire&lt;br /&gt;
***[[http://gandi.net gandi]]&lt;br /&gt;
&lt;br /&gt;
** All in one&lt;br /&gt;
*** [[http://www.hostpapa.ca hostpapa]]&lt;br /&gt;
&lt;br /&gt;
** Social Media **&lt;br /&gt;
*** Google +&lt;br /&gt;
Must create a page&lt;br /&gt;
[[https://plus.google.com Google +]]&lt;br /&gt;
&lt;br /&gt;
*** [[http://facebook.com Facebook]]&lt;br /&gt;
*** [[http://linkedin.com Linkedin ]]&lt;br /&gt;
Etc ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== SideBarre Menu ==&lt;br /&gt;
{{#tree:root=Side Barre Menu |&lt;br /&gt;
* Media Wiki&lt;br /&gt;
** [[Quicklinksmediawiki#Start_with_MediaWiki|Start With Wiki]]&lt;br /&gt;
** [[Demo Page|Demo Page]]&lt;br /&gt;
** Navigation&lt;br /&gt;
*** [[mainpage|mainpage-description]]&lt;br /&gt;
*** [[recentchanges-url|recentchanges]]&lt;br /&gt;
*** [[randompage-url|randompage]]&lt;br /&gt;
*** [[helppage|help]]&lt;br /&gt;
&lt;br /&gt;
* Business&lt;br /&gt;
** [[EntrepreneurShip | EntrepreneurShip]]&lt;br /&gt;
&lt;br /&gt;
* Office&lt;br /&gt;
** [[LibreOffice | Libre and Open Office]]&lt;br /&gt;
** [[MSOfficeOnline | Ms Office OnLine]]&lt;br /&gt;
&lt;br /&gt;
* CMS&lt;br /&gt;
** [[Wordpress | Word Press]]&lt;br /&gt;
** [[Tiki | Tiki]]&lt;br /&gt;
&lt;br /&gt;
* Erp&lt;br /&gt;
** [[JdEdwards | JD Edwards]]&lt;br /&gt;
** [[MSDynamics | Ms Dynamics]]&lt;br /&gt;
** [[OpenERP | Odoo (OpenErp)]]&lt;br /&gt;
&lt;br /&gt;
* Database&lt;br /&gt;
** [[Mysql | MySql]]&lt;br /&gt;
** [[Oracle_Database|Oracle]]&lt;br /&gt;
** [[HQL | Hibernate]]&lt;br /&gt;
** [[MongoDb | MongoDb]]&lt;br /&gt;
** [[MsSql | MsSql]]&lt;br /&gt;
&lt;br /&gt;
* System Admin.&lt;br /&gt;
** [[Linux|Linux]]&lt;br /&gt;
** [[Unix Container|Container]]&lt;br /&gt;
** [[KVM | KVM]]&lt;br /&gt;
** [[Mail Server | Mail Server]]&lt;br /&gt;
** [[Web Server | Web Server]]&lt;br /&gt;
** [[Windows | Windows]]&lt;br /&gt;
&lt;br /&gt;
* Ldap&lt;br /&gt;
** [[Ldap Server | Ldap Server]]&lt;br /&gt;
&lt;br /&gt;
* Code&lt;br /&gt;
** [[Ruby|Ruby]]&lt;br /&gt;
** [[Java_Spring_FrameWork | Spring FrameWork]]&lt;br /&gt;
** [[Java_Spring_Roo| Roo]]&lt;br /&gt;
** [[Grails_Framework| Grails]]&lt;br /&gt;
** [[nodejs | node.js]]&lt;br /&gt;
&lt;br /&gt;
* IDE&lt;br /&gt;
** [[Wavemaker | Wavemaker]]&lt;br /&gt;
** [[Eclipse | Eclipse]]&lt;br /&gt;
** [[NetBean | NetBean]]&lt;br /&gt;
&lt;br /&gt;
* Repositories&lt;br /&gt;
** [[Githuh | Github]]&lt;br /&gt;
** [[npm | npm]]&lt;br /&gt;
&lt;br /&gt;
* Drones&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Postgresql&amp;diff=1337</id>
		<title>Postgresql</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Postgresql&amp;diff=1337"/>
		<updated>2025-03-02T22:00:28Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Postgresql ===&lt;br /&gt;
&lt;br /&gt;
==== Authorize external connection ==== &lt;br /&gt;
** Modify /etc/postgresql/12/main/postgresql.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;listen_addresses = &#039;0.0.0.0/0&#039;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** Modify /etc/postgresql/12/main/pg_hba.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;host all all 0.0.0.0/0 md5&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** List active cluster&lt;br /&gt;
&amp;lt;pre&amp;gt;pg_lsclusters&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Change postgres password ====&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u postgres psql&amp;lt;/pre&amp;gt;&lt;br /&gt;
then&lt;br /&gt;
&amp;lt;pre&amp;gt;\password postgres&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Manage User ===&lt;br /&gt;
** Create user with login&lt;br /&gt;
&amp;lt;pre&amp;gt;CREATE ROLE username WITH LOGIN PASSWORD &#039;mysecret&#039;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** Provide Superuser to a user&lt;br /&gt;
&amp;lt;pre&amp;gt;ALTER ROLE username SUPERUSER &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** List users &lt;br /&gt;
&amp;lt;pre&amp;gt;select rolname,rolsuper,rolcanlogin FROM pg_roles; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** List active cluster&lt;br /&gt;
&amp;lt;pre&amp;gt;pg_lsclusters&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Upgrade===&lt;br /&gt;
** List active cluster&lt;br /&gt;
&amp;lt;pre&amp;gt;pg_lsclusters&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** Stop postgresql service &lt;br /&gt;
&amp;lt;pre&amp;gt;service postgresql stop &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** Save database &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo -u postgres pg_dumpall &amp;gt; backup.sql &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** Install new postgres version&lt;br /&gt;
&amp;lt;pre&amp;gt; apt-get install -y postgresql postgresql-client&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** Install option package&lt;br /&gt;
&amp;lt;pre&amp;gt;curl -L https://packagecloud.io/timescale/timescaledb/gpgkey | apt-key add -&lt;br /&gt;
sh -c &amp;quot;echo &#039;deb https://packagecloud.io/timescale/timescaledb/ubuntu/ $(lsb_release -c -s) main&#039; &amp;gt; /etc/apt/sources.list.d/timescaledb.list&amp;quot;&lt;br /&gt;
wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | apt-key add -&lt;br /&gt;
apt-get install -y timescaledb-2-postgresql-16 timescaledb-2-postgresql-16&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Upgrade database &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo -u postgres /usr/lib/postgresql/16/bin/pg_upgrade \&lt;br /&gt;
    --old-datadir=/var/lib/postgresql/14/main \&lt;br /&gt;
    --new-datadir=/var/lib/postgresql/16/main \&lt;br /&gt;
    --old-bindir=/usr/lib/postgresql/14/bin \&lt;br /&gt;
    --new-bindir=/usr/lib/postgresql/16/bin \&lt;br /&gt;
    --old-options &#039;-c config_file=/etc/postgresql/14/main/postgresql.conf&#039; \&lt;br /&gt;
    --new-options &#039;-c config_file=/etc/postgresql/16/main/postgresql.conf&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== PgAdmin4===&lt;br /&gt;
&lt;br /&gt;
==== Url ====&lt;br /&gt;
[http://localhost/pgadmin4  http://localhost/pgadmin4]&lt;br /&gt;
&lt;br /&gt;
==== Reset Web Password ====&lt;br /&gt;
* Clear /var/lib/pgamdin folder &lt;br /&gt;
* Reconfigure the web interface&lt;br /&gt;
&amp;lt;pre&amp;gt; dpkg-reconfigure pgamin4-apache2 &amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Unix_Container&amp;diff=1336</id>
		<title>Unix Container</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Unix_Container&amp;diff=1336"/>
		<updated>2025-02-18T04:21:09Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Web Site */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Container Howto==&lt;br /&gt;
===Web Site===&lt;br /&gt;
Docker [[https://docker.com docker.com]]&lt;br /&gt;
&lt;br /&gt;
Containers at Docker Store [[https://store.docker.com/ store.docker.com]]&lt;br /&gt;
&lt;br /&gt;
===Install and run a container=== &lt;br /&gt;
&amp;lt;pre&amp;gt;docker run -i -t ubuntu:18:04 /bin/bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Create an image from a container Commit===&lt;br /&gt;
* &amp;quot;b5673dbced61&amp;quot; is an image id &lt;br /&gt;
&amp;lt;pre&amp;gt;docker commit -m &amp;quot;Ubuntu 14.10 Demonstrator&amp;quot; -a &amp;quot;Author Name&amp;quot; b5673dbced61 demo:14.10&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List Images (Source to initiare a containers)===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker images&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Remove an image &amp;quot;b5673dbced61&amp;quot; is an image id===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker rmi b5673dbced61 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Create a volume===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker volume create --name node_red_user_data&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List volumes===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker volume ls&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List containers (Running Virtual Machines)=== &lt;br /&gt;
* Running: &lt;br /&gt;
&amp;lt;pre&amp;gt; docker ps&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Full List&lt;br /&gt;
&amp;lt;pre&amp;gt; docker ps -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Start and Stop a container=== &lt;br /&gt;
* Stop&lt;br /&gt;
&amp;lt;pre&amp;gt;docker stop &amp;quot;containerId or Name&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Start (Batch)&lt;br /&gt;
&amp;lt;pre&amp;gt;docker start &amp;quot;containerId or Name&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Start (and login in)&lt;br /&gt;
&amp;lt;pre&amp;gt;docker start -i &amp;quot;containerId or Name&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Update a restart option===&lt;br /&gt;
* no&lt;br /&gt;
* on-failure&lt;br /&gt;
* unless-stopped&lt;br /&gt;
* always&lt;br /&gt;
&amp;lt;pre&amp;gt;docker update --restart=on-failure &amp;lt;container&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Relogin&amp;quot; (Attach) into a Container===&lt;br /&gt;
* &amp;quot;Relogin into a running container&lt;br /&gt;
&amp;lt;pre&amp;gt;docker attach &amp;quot;container Name&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Save an image===&lt;br /&gt;
* &amp;quot;asw20/mailserver&amp;quot; is the image tag&lt;br /&gt;
&amp;lt;pre&amp;gt;docker save asw20/mailserver:latest -o mailserver.tar&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Save all images===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker save $(docker images | sed &#039;1d&#039; | awk &#039;{print $1 &amp;quot;:&amp;quot; $2 }&#039;) -o dockerimages.tar&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restore image===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker load -i dockerimages.tar&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Remove a container===&lt;br /&gt;
* &amp;quot;d0955f21bf24&amp;quot; is a container Id&lt;br /&gt;
&amp;lt;pre&amp;gt;docker rm d0955f21bf24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Remove all containers=== &lt;br /&gt;
&amp;lt;pre&amp;gt;docker stop $(docker ps -a -q)&lt;br /&gt;
docker rm $(docker ps -a -q)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Advence Topics==&lt;br /&gt;
&lt;br /&gt;
===Build an image from a Dockerfile===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker build -t objectif/appname -f pathtoDockerfile&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;docker build -t [username]/docker-desktop git://github.com/rogaha/docker-desktop.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Execute more advances===&lt;br /&gt;
&amp;lt;pre&amp;gt;docker run -i -t --net=&amp;quot;bridge&amp;quot; --name Demo -v /opt/docker/data mindesktop:v01.01&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Dockerfile Sample===&lt;br /&gt;
====node Js app====&lt;br /&gt;
* Create a new directory&lt;br /&gt;
=====Create node app=====&lt;br /&gt;
* Create package.json&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;name&amp;quot;: &amp;quot;docker_web_app&amp;quot;,&lt;br /&gt;
  &amp;quot;version&amp;quot;: &amp;quot;1.0.0&amp;quot;,&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;Node.js on Docker&amp;quot;,&lt;br /&gt;
  &amp;quot;author&amp;quot;: &amp;quot;First Last &amp;lt;first.last@example.com&amp;gt;&amp;quot;,&lt;br /&gt;
  &amp;quot;main&amp;quot;: &amp;quot;server.js&amp;quot;,&lt;br /&gt;
  &amp;quot;scripts&amp;quot;: {&lt;br /&gt;
    &amp;quot;start&amp;quot;: &amp;quot;node server.js&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;dependencies&amp;quot;: {&lt;br /&gt;
    &amp;quot;express&amp;quot;: &amp;quot;^4.16.1&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create server.js &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
const express = require(&#039;express&#039;);&lt;br /&gt;
&lt;br /&gt;
// Constants&lt;br /&gt;
const PORT = 8080;&lt;br /&gt;
const HOST = &#039;0.0.0.0&#039;;&lt;br /&gt;
&lt;br /&gt;
// App&lt;br /&gt;
const app = express();&lt;br /&gt;
app.get(&#039;/&#039;, (req, res) =&amp;gt; {&lt;br /&gt;
  res.send(&#039;Hello world\n&#039;);&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
app.listen(PORT, HOST);&lt;br /&gt;
console.log(`Running on http://${HOST}:${PORT}`);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Create Dockerfile=====&lt;br /&gt;
* Create a file Dockerfile&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FROM node:10&lt;br /&gt;
&lt;br /&gt;
# Create app directory&lt;br /&gt;
WORKDIR /usr/src/app&lt;br /&gt;
&lt;br /&gt;
# Install app dependencies&lt;br /&gt;
# A wildcard is used to ensure both package.json AND package-lock.json are copied&lt;br /&gt;
# where available (npm@5+)&lt;br /&gt;
COPY package*.json ./&lt;br /&gt;
&lt;br /&gt;
RUN npm install&lt;br /&gt;
# If you are building your code for production&lt;br /&gt;
# RUN npm ci --only=production&lt;br /&gt;
&lt;br /&gt;
# Bundle app source&lt;br /&gt;
COPY . .&lt;br /&gt;
&lt;br /&gt;
EXPOSE 8080&lt;br /&gt;
CMD [ &amp;quot;node&amp;quot;, &amp;quot;server.js&amp;quot; ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a file .dockerignore&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
node_modules&lt;br /&gt;
npm-debug.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Build Image=====&lt;br /&gt;
* Don&#039;t forget the &amp;quot;.&amp;quot; at the end...&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker build -t &amp;lt;username&amp;gt;/&amp;lt;applicationname&amp;gt; .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====List Images=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker images&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Run Image=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run &amp;lt;username&amp;gt;/&amp;lt;applicationname&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ghost (Blog Server)====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FROM komljen/nodejs&lt;br /&gt;
MAINTAINER Alen Komljen &amp;lt;alen.komljen@live.com&amp;gt;&lt;br /&gt;
ENV GHOST_VERSION 0.5.7&lt;br /&gt;
ENV APP_ROOT /data/app&lt;br /&gt;
RUN \&lt;br /&gt;
curl -sLO http://ghost.org/archives/ghost-${GHOST_VERSION}.zip &amp;amp;&amp;amp; \&lt;br /&gt;
mkdir -p ${APP_ROOT} &amp;amp;&amp;amp; \&lt;br /&gt;
unzip -uo ghost-${GHOST_VERSION}.zip -d ${APP_ROOT} &amp;amp;&amp;amp; \&lt;br /&gt;
rm ghost-${GHOST_VERSION}.zip&lt;br /&gt;
RUN \&lt;br /&gt;
cd ${APP_ROOT} &amp;amp;&amp;amp; \&lt;br /&gt;
npm install --production&lt;br /&gt;
ADD start.sh start.sh&lt;br /&gt;
VOLUME [&amp;quot;$APP_ROOT&amp;quot;]&lt;br /&gt;
RUN rm /usr/sbin/policy-rc.d&lt;br /&gt;
CMD [&amp;quot;/start.sh&amp;quot;]&lt;br /&gt;
EXPOSE 2368&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gui management solution for Docker==&lt;br /&gt;
&lt;br /&gt;
=== Portainer ===&lt;br /&gt;
Web site [https://portainer.io/ https://portainer.io]&lt;br /&gt;
&lt;br /&gt;
Dashboard access&lt;br /&gt;
[http://localhost:9000/#/dashboard http://localhost:9000/#/dashboard]&lt;br /&gt;
&lt;br /&gt;
====Deployment====&lt;br /&gt;
&amp;lt;pre&amp;gt;docker run -d --name myPortainer -p 9000:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer-ce&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Upgrade====&lt;br /&gt;
* Stop Portainer&lt;br /&gt;
* Remove Portainer&lt;br /&gt;
* Pull new /upgraded image&lt;br /&gt;
* Recreate Portainer&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker stop myPortainer&lt;br /&gt;
docker rm myPortainer&lt;br /&gt;
docker pull portainer/portainer-ce&lt;br /&gt;
docker run -d --name myPortainer -p 9000:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer-ce&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Docker Server Remote Management ==&lt;br /&gt;
&lt;br /&gt;
# These commands get run inside of your VM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Create the directory to store the configuration file.&lt;br /&gt;
sudo mkdir -p /etc/systemd/system/docker.service.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Create a new file to store the daemon options.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/docker.service.d/options.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Now make it look like this and save the file when you&#039;re done:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=&lt;br /&gt;
ExecStart=/usr/bin/dockerd -H unix:// -H tcp://0.0.0.0:2375&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Reload the systemd daemon.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Restart Docker.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl restart docker&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1335</id>
		<title>Home-Assistant</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1335"/>
		<updated>2024-11-25T04:06:04Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Get Device List with key */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Home Page / Link ==&lt;br /&gt;
Main Page: [home-assistant.io]&lt;br /&gt;
&lt;br /&gt;
=== Install with docker ===&lt;br /&gt;
&lt;br /&gt;
* Get source from Linuxserver and build (docker build) &lt;br /&gt;
Linux Server [https://github.com/linuxserver/docker-homeassistant  homeassistant]&lt;br /&gt;
&lt;br /&gt;
* Install HACS to get community app&lt;br /&gt;
&lt;br /&gt;
HACS Instruction: [https://hacs.xyz/docs/setup/prerequisites HACS Prerequisites]&lt;br /&gt;
&lt;br /&gt;
** run a script under login directory on home assistant server&lt;br /&gt;
** Add HACS as a new integration &lt;br /&gt;
&lt;br /&gt;
* Install localTuya with HACS and configure Tuya device localy&lt;br /&gt;
[https://github.com/rospogrigio/localtuya Local Tuya ]&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
=== Roomba ===&lt;br /&gt;
&lt;br /&gt;
# Install dorita980 or inside a container&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
npm install -g dorita980&lt;br /&gt;
get-roomba-password-cloud myemail mypassword&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
docker run -it node sh -c &amp;quot;npm install -g dorita980 &amp;amp;&amp;amp; get-roomba-password-cloud &amp;lt;iRobot Username&amp;gt; &amp;lt;iRobot Password&amp;gt; [Optional API-Key]&amp;quot;&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tuya Integration ===&lt;br /&gt;
&lt;br /&gt;
# Create a could project at iot.tuya.com&lt;br /&gt;
[https://github.com/tuya/tuya-home-assistant/blob/main/docs/platform_configuration.md Initial Setup]&lt;br /&gt;
&lt;br /&gt;
# Country &lt;br /&gt;
## Choose the country you picked when signing up.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access ID : &lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access ID under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access Secret&lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access Secret under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Do not setup API Account&lt;br /&gt;
## Click / Select .Do not configure a Cloud API account&lt;br /&gt;
&lt;br /&gt;
# Account&lt;br /&gt;
## Tuya Smart or Smart Life app account Password. The password of your app account.&lt;br /&gt;
&lt;br /&gt;
=== LocalTuya ===&lt;br /&gt;
&lt;br /&gt;
[https://github.com/rospogrigio/localtuya/  Local Tuya]&lt;br /&gt;
&lt;br /&gt;
==== Install Get HACS Community Store ====&lt;br /&gt;
&lt;br /&gt;
===== With command line, Without addons =====&lt;br /&gt;
[https://github.com/hacs/ HACS]&lt;br /&gt;
&lt;br /&gt;
* Enable Advanced Mode under the account option&lt;br /&gt;
* Execute bellow command inside the container&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -O - https://get.hacs.xyz | bash - &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Restart docker host (under development)&lt;br /&gt;
&lt;br /&gt;
===== With Addon =====&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;my link&amp;quot; for downloading Hacs installer and execute it &lt;br /&gt;
&lt;br /&gt;
* HACS page link: [https://hacs.xyz/docs/use/download/download/#to-download-hacs | my Link]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Install Local Tuya  ====&lt;br /&gt;
&lt;br /&gt;
[[File:LocalTuya Install from HACS.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configure Local Tuya  ====&lt;br /&gt;
* Add the new integration Settings, then Devices &amp;amp; Services  &lt;br /&gt;
&lt;br /&gt;
[[File:Cloud API Account Configuration.png | API Configuration]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Add new device ====&lt;br /&gt;
&lt;br /&gt;
===== Get Device List with key =====&lt;br /&gt;
* Install codetheweb/tuyapi&lt;br /&gt;
[https://github.com/codetheweb/tuyapi tuyapi]&lt;br /&gt;
&lt;br /&gt;
* install Tuya CLI&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo npm i @tuyapi/cli -g&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* execute the following command to get the list of all device&lt;br /&gt;
&amp;lt;pre&amp;gt;tuya-cli wizard&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Configuration by type of device =====&lt;br /&gt;
Globe: Bulbs model 35804 (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Ampoule_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_ampoule1_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      color_mode: 21 # Optional, usually 2 or 21, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      brightness: 22 # Optional, usually 3 or 22, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp: 23 # Optional, usually 4 or 23, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
      color: 24&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Smart Plug 50329 (from Costco)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.240&lt;br /&gt;
  device_id: bedded_dummy&lt;br /&gt;
  local_key: q1w2e3r4_dummy&lt;br /&gt;
  friendly_name: Tuya_Prise_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: switch&lt;br /&gt;
      friendly_name: tuya_prise1_on_off&lt;br /&gt;
      id: 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Led Strip (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Led_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_led_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      brightness: 26&lt;br /&gt;
      color_temp: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_mode: 21 &lt;br /&gt;
      color: 24&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Alexa Integration ===&lt;br /&gt;
&lt;br /&gt;
[https://www.home-assistant.io/integrations/alexa/ Amazon Alexa]&lt;br /&gt;
&lt;br /&gt;
# Create a skill &lt;br /&gt;
&lt;br /&gt;
[https://developer.amazon.com/fr-FR/alexa  Amazon Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Run the skill&lt;br /&gt;
[https://us-east-1.console.aws.amazon.com/console AWS consol]&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1334</id>
		<title>Home-Assistant</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1334"/>
		<updated>2024-11-25T00:35:28Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* LocalTuya */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Home Page / Link ==&lt;br /&gt;
Main Page: [home-assistant.io]&lt;br /&gt;
&lt;br /&gt;
=== Install with docker ===&lt;br /&gt;
&lt;br /&gt;
* Get source from Linuxserver and build (docker build) &lt;br /&gt;
Linux Server [https://github.com/linuxserver/docker-homeassistant  homeassistant]&lt;br /&gt;
&lt;br /&gt;
* Install HACS to get community app&lt;br /&gt;
&lt;br /&gt;
HACS Instruction: [https://hacs.xyz/docs/setup/prerequisites HACS Prerequisites]&lt;br /&gt;
&lt;br /&gt;
** run a script under login directory on home assistant server&lt;br /&gt;
** Add HACS as a new integration &lt;br /&gt;
&lt;br /&gt;
* Install localTuya with HACS and configure Tuya device localy&lt;br /&gt;
[https://github.com/rospogrigio/localtuya Local Tuya ]&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
=== Roomba ===&lt;br /&gt;
&lt;br /&gt;
# Install dorita980 or inside a container&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
npm install -g dorita980&lt;br /&gt;
get-roomba-password-cloud myemail mypassword&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
docker run -it node sh -c &amp;quot;npm install -g dorita980 &amp;amp;&amp;amp; get-roomba-password-cloud &amp;lt;iRobot Username&amp;gt; &amp;lt;iRobot Password&amp;gt; [Optional API-Key]&amp;quot;&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tuya Integration ===&lt;br /&gt;
&lt;br /&gt;
# Create a could project at iot.tuya.com&lt;br /&gt;
[https://github.com/tuya/tuya-home-assistant/blob/main/docs/platform_configuration.md Initial Setup]&lt;br /&gt;
&lt;br /&gt;
# Country &lt;br /&gt;
## Choose the country you picked when signing up.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access ID : &lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access ID under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access Secret&lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access Secret under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Do not setup API Account&lt;br /&gt;
## Click / Select .Do not configure a Cloud API account&lt;br /&gt;
&lt;br /&gt;
# Account&lt;br /&gt;
## Tuya Smart or Smart Life app account Password. The password of your app account.&lt;br /&gt;
&lt;br /&gt;
=== LocalTuya ===&lt;br /&gt;
&lt;br /&gt;
[https://github.com/rospogrigio/localtuya/  Local Tuya]&lt;br /&gt;
&lt;br /&gt;
==== Install Get HACS Community Store ====&lt;br /&gt;
&lt;br /&gt;
===== With command line, Without addons =====&lt;br /&gt;
[https://github.com/hacs/ HACS]&lt;br /&gt;
&lt;br /&gt;
* Enable Advanced Mode under the account option&lt;br /&gt;
* Execute bellow command inside the container&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -O - https://get.hacs.xyz | bash - &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Restart docker host (under development)&lt;br /&gt;
&lt;br /&gt;
===== With Addon =====&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;my link&amp;quot; for downloading Hacs installer and execute it &lt;br /&gt;
&lt;br /&gt;
* HACS page link: [https://hacs.xyz/docs/use/download/download/#to-download-hacs | my Link]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Install Local Tuya  ====&lt;br /&gt;
&lt;br /&gt;
[[File:LocalTuya Install from HACS.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configure Local Tuya  ====&lt;br /&gt;
* Add the new integration Settings, then Devices &amp;amp; Services  &lt;br /&gt;
&lt;br /&gt;
[[File:Cloud API Account Configuration.png | API Configuration]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Add new device ====&lt;br /&gt;
&lt;br /&gt;
===== Get Device List with key =====&lt;br /&gt;
* Install codetheweb/tuyapi&lt;br /&gt;
[https://github.com/codetheweb/tuyapi tuyapi]&lt;br /&gt;
* execute the following command to get the list of all device&lt;br /&gt;
&amp;lt;pre&amp;gt;tuya-cli wizard&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Configuration by type of device =====&lt;br /&gt;
Globe: Bulbs model 35804 (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Ampoule_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_ampoule1_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      color_mode: 21 # Optional, usually 2 or 21, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      brightness: 22 # Optional, usually 3 or 22, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp: 23 # Optional, usually 4 or 23, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
      color: 24&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Smart Plug 50329 (from Costco)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.240&lt;br /&gt;
  device_id: bedded_dummy&lt;br /&gt;
  local_key: q1w2e3r4_dummy&lt;br /&gt;
  friendly_name: Tuya_Prise_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: switch&lt;br /&gt;
      friendly_name: tuya_prise1_on_off&lt;br /&gt;
      id: 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Led Strip (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Led_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_led_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      brightness: 26&lt;br /&gt;
      color_temp: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_mode: 21 &lt;br /&gt;
      color: 24&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Alexa Integration ===&lt;br /&gt;
&lt;br /&gt;
[https://www.home-assistant.io/integrations/alexa/ Amazon Alexa]&lt;br /&gt;
&lt;br /&gt;
# Create a skill &lt;br /&gt;
&lt;br /&gt;
[https://developer.amazon.com/fr-FR/alexa  Amazon Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Run the skill&lt;br /&gt;
[https://us-east-1.console.aws.amazon.com/console AWS consol]&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1333</id>
		<title>Home-Assistant</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1333"/>
		<updated>2024-11-25T00:33:05Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Configure Local Tuya */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Home Page / Link ==&lt;br /&gt;
Main Page: [home-assistant.io]&lt;br /&gt;
&lt;br /&gt;
=== Install with docker ===&lt;br /&gt;
&lt;br /&gt;
* Get source from Linuxserver and build (docker build) &lt;br /&gt;
Linux Server [https://github.com/linuxserver/docker-homeassistant  homeassistant]&lt;br /&gt;
&lt;br /&gt;
* Install HACS to get community app&lt;br /&gt;
&lt;br /&gt;
HACS Instruction: [https://hacs.xyz/docs/setup/prerequisites HACS Prerequisites]&lt;br /&gt;
&lt;br /&gt;
** run a script under login directory on home assistant server&lt;br /&gt;
** Add HACS as a new integration &lt;br /&gt;
&lt;br /&gt;
* Install localTuya with HACS and configure Tuya device localy&lt;br /&gt;
[https://github.com/rospogrigio/localtuya Local Tuya ]&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
=== Roomba ===&lt;br /&gt;
&lt;br /&gt;
# Install dorita980 or inside a container&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
npm install -g dorita980&lt;br /&gt;
get-roomba-password-cloud myemail mypassword&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
docker run -it node sh -c &amp;quot;npm install -g dorita980 &amp;amp;&amp;amp; get-roomba-password-cloud &amp;lt;iRobot Username&amp;gt; &amp;lt;iRobot Password&amp;gt; [Optional API-Key]&amp;quot;&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tuya Integration ===&lt;br /&gt;
&lt;br /&gt;
# Create a could project at iot.tuya.com&lt;br /&gt;
[https://github.com/tuya/tuya-home-assistant/blob/main/docs/platform_configuration.md Initial Setup]&lt;br /&gt;
&lt;br /&gt;
# Country &lt;br /&gt;
## Choose the country you picked when signing up.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access ID : &lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access ID under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access Secret&lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access Secret under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Do not setup API Account&lt;br /&gt;
## Click / Select .Do not configure a Cloud API account&lt;br /&gt;
&lt;br /&gt;
# Account&lt;br /&gt;
## Tuya Smart or Smart Life app account Password. The password of your app account.&lt;br /&gt;
&lt;br /&gt;
=== LocalTuya ===&lt;br /&gt;
&lt;br /&gt;
[https://github.com/rospogrigio/localtuya/  Local Tuya]&lt;br /&gt;
&lt;br /&gt;
==== Install Get HACS Community Store ====&lt;br /&gt;
&lt;br /&gt;
===== With command line, Without addons =====&lt;br /&gt;
[https://github.com/hacs/ HACS]&lt;br /&gt;
&lt;br /&gt;
* Enable Advanced Mode under the account option&lt;br /&gt;
* Execute bellow command inside the container&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -O - https://get.hacs.xyz | bash - &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Restart docker host (under development)&lt;br /&gt;
&lt;br /&gt;
===== With Addon =====&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;my link&amp;quot; for downloading Hacs installer and execute it &lt;br /&gt;
&lt;br /&gt;
* HACS page link: [https://hacs.xyz/docs/use/download/download/#to-download-hacs | my Link]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Install Local Tuya  ====&lt;br /&gt;
&lt;br /&gt;
[[File:LocalTuya Install from HACS.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configure Local Tuya  ====&lt;br /&gt;
* Add the new integration Settings, then Devices &amp;amp; Services  &lt;br /&gt;
&lt;br /&gt;
[[File:Cloud API Account Configuration.png | API Configuration]]&lt;br /&gt;
&lt;br /&gt;
* Install codetheweb/tuyapi&lt;br /&gt;
[https://github.com/codetheweb/tuyapi tuyapi]&lt;br /&gt;
* execute the following command to get the list of all device&lt;br /&gt;
&amp;lt;pre&amp;gt;tuya-cli wizard&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Add new device ====&lt;br /&gt;
&lt;br /&gt;
Globe: Bulbs model 35804 (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Ampoule_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_ampoule1_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      color_mode: 21 # Optional, usually 2 or 21, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      brightness: 22 # Optional, usually 3 or 22, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp: 23 # Optional, usually 4 or 23, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
      color: 24&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Smart Plug 50329 (from Costco)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.240&lt;br /&gt;
  device_id: bedded_dummy&lt;br /&gt;
  local_key: q1w2e3r4_dummy&lt;br /&gt;
  friendly_name: Tuya_Prise_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: switch&lt;br /&gt;
      friendly_name: tuya_prise1_on_off&lt;br /&gt;
      id: 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Led Strip (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Led_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_led_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      brightness: 26&lt;br /&gt;
      color_temp: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_mode: 21 &lt;br /&gt;
      color: 24&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Alexa Integration ===&lt;br /&gt;
&lt;br /&gt;
[https://www.home-assistant.io/integrations/alexa/ Amazon Alexa]&lt;br /&gt;
&lt;br /&gt;
# Create a skill &lt;br /&gt;
&lt;br /&gt;
[https://developer.amazon.com/fr-FR/alexa  Amazon Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Run the skill&lt;br /&gt;
[https://us-east-1.console.aws.amazon.com/console AWS consol]&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1332</id>
		<title>Home-Assistant</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1332"/>
		<updated>2024-11-25T00:32:39Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Install Local Tuya */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Home Page / Link ==&lt;br /&gt;
Main Page: [home-assistant.io]&lt;br /&gt;
&lt;br /&gt;
=== Install with docker ===&lt;br /&gt;
&lt;br /&gt;
* Get source from Linuxserver and build (docker build) &lt;br /&gt;
Linux Server [https://github.com/linuxserver/docker-homeassistant  homeassistant]&lt;br /&gt;
&lt;br /&gt;
* Install HACS to get community app&lt;br /&gt;
&lt;br /&gt;
HACS Instruction: [https://hacs.xyz/docs/setup/prerequisites HACS Prerequisites]&lt;br /&gt;
&lt;br /&gt;
** run a script under login directory on home assistant server&lt;br /&gt;
** Add HACS as a new integration &lt;br /&gt;
&lt;br /&gt;
* Install localTuya with HACS and configure Tuya device localy&lt;br /&gt;
[https://github.com/rospogrigio/localtuya Local Tuya ]&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
=== Roomba ===&lt;br /&gt;
&lt;br /&gt;
# Install dorita980 or inside a container&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
npm install -g dorita980&lt;br /&gt;
get-roomba-password-cloud myemail mypassword&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
docker run -it node sh -c &amp;quot;npm install -g dorita980 &amp;amp;&amp;amp; get-roomba-password-cloud &amp;lt;iRobot Username&amp;gt; &amp;lt;iRobot Password&amp;gt; [Optional API-Key]&amp;quot;&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tuya Integration ===&lt;br /&gt;
&lt;br /&gt;
# Create a could project at iot.tuya.com&lt;br /&gt;
[https://github.com/tuya/tuya-home-assistant/blob/main/docs/platform_configuration.md Initial Setup]&lt;br /&gt;
&lt;br /&gt;
# Country &lt;br /&gt;
## Choose the country you picked when signing up.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access ID : &lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access ID under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access Secret&lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access Secret under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Do not setup API Account&lt;br /&gt;
## Click / Select .Do not configure a Cloud API account&lt;br /&gt;
&lt;br /&gt;
# Account&lt;br /&gt;
## Tuya Smart or Smart Life app account Password. The password of your app account.&lt;br /&gt;
&lt;br /&gt;
=== LocalTuya ===&lt;br /&gt;
&lt;br /&gt;
[https://github.com/rospogrigio/localtuya/  Local Tuya]&lt;br /&gt;
&lt;br /&gt;
==== Install Get HACS Community Store ====&lt;br /&gt;
&lt;br /&gt;
===== With command line, Without addons =====&lt;br /&gt;
[https://github.com/hacs/ HACS]&lt;br /&gt;
&lt;br /&gt;
* Enable Advanced Mode under the account option&lt;br /&gt;
* Execute bellow command inside the container&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -O - https://get.hacs.xyz | bash - &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Restart docker host (under development)&lt;br /&gt;
&lt;br /&gt;
===== With Addon =====&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;my link&amp;quot; for downloading Hacs installer and execute it &lt;br /&gt;
&lt;br /&gt;
* HACS page link: [https://hacs.xyz/docs/use/download/download/#to-download-hacs | my Link]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Install Local Tuya  ====&lt;br /&gt;
&lt;br /&gt;
[[File:LocalTuya Install from HACS.png]]&lt;br /&gt;
&lt;br /&gt;
==== Configure Local Tuya  ====&lt;br /&gt;
* Add the new integration Settings, then Devices &amp;amp; Services  &lt;br /&gt;
&lt;br /&gt;
[[File:Cloud API Account Configuration.png | API Configuration]]&lt;br /&gt;
&lt;br /&gt;
* Install codetheweb/tuyapi&lt;br /&gt;
[https://github.com/codetheweb/tuyapi tuyapi]&lt;br /&gt;
* execute the following command to get the list of all device&lt;br /&gt;
&amp;lt;pre&amp;gt;tuya-cli wizard&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Add new device ====&lt;br /&gt;
&lt;br /&gt;
Globe: Bulbs model 35804 (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Ampoule_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_ampoule1_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      color_mode: 21 # Optional, usually 2 or 21, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      brightness: 22 # Optional, usually 3 or 22, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp: 23 # Optional, usually 4 or 23, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
      color: 24&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Smart Plug 50329 (from Costco)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.240&lt;br /&gt;
  device_id: bedded_dummy&lt;br /&gt;
  local_key: q1w2e3r4_dummy&lt;br /&gt;
  friendly_name: Tuya_Prise_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: switch&lt;br /&gt;
      friendly_name: tuya_prise1_on_off&lt;br /&gt;
      id: 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Led Strip (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Led_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_led_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      brightness: 26&lt;br /&gt;
      color_temp: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_mode: 21 &lt;br /&gt;
      color: 24&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Alexa Integration ===&lt;br /&gt;
&lt;br /&gt;
[https://www.home-assistant.io/integrations/alexa/ Amazon Alexa]&lt;br /&gt;
&lt;br /&gt;
# Create a skill &lt;br /&gt;
&lt;br /&gt;
[https://developer.amazon.com/fr-FR/alexa  Amazon Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Run the skill&lt;br /&gt;
[https://us-east-1.console.aws.amazon.com/console AWS consol]&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1331</id>
		<title>Home-Assistant</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1331"/>
		<updated>2024-11-25T00:30:15Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Install Local Tuya */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Home Page / Link ==&lt;br /&gt;
Main Page: [home-assistant.io]&lt;br /&gt;
&lt;br /&gt;
=== Install with docker ===&lt;br /&gt;
&lt;br /&gt;
* Get source from Linuxserver and build (docker build) &lt;br /&gt;
Linux Server [https://github.com/linuxserver/docker-homeassistant  homeassistant]&lt;br /&gt;
&lt;br /&gt;
* Install HACS to get community app&lt;br /&gt;
&lt;br /&gt;
HACS Instruction: [https://hacs.xyz/docs/setup/prerequisites HACS Prerequisites]&lt;br /&gt;
&lt;br /&gt;
** run a script under login directory on home assistant server&lt;br /&gt;
** Add HACS as a new integration &lt;br /&gt;
&lt;br /&gt;
* Install localTuya with HACS and configure Tuya device localy&lt;br /&gt;
[https://github.com/rospogrigio/localtuya Local Tuya ]&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
=== Roomba ===&lt;br /&gt;
&lt;br /&gt;
# Install dorita980 or inside a container&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
npm install -g dorita980&lt;br /&gt;
get-roomba-password-cloud myemail mypassword&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
docker run -it node sh -c &amp;quot;npm install -g dorita980 &amp;amp;&amp;amp; get-roomba-password-cloud &amp;lt;iRobot Username&amp;gt; &amp;lt;iRobot Password&amp;gt; [Optional API-Key]&amp;quot;&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tuya Integration ===&lt;br /&gt;
&lt;br /&gt;
# Create a could project at iot.tuya.com&lt;br /&gt;
[https://github.com/tuya/tuya-home-assistant/blob/main/docs/platform_configuration.md Initial Setup]&lt;br /&gt;
&lt;br /&gt;
# Country &lt;br /&gt;
## Choose the country you picked when signing up.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access ID : &lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access ID under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access Secret&lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access Secret under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Do not setup API Account&lt;br /&gt;
## Click / Select .Do not configure a Cloud API account&lt;br /&gt;
&lt;br /&gt;
# Account&lt;br /&gt;
## Tuya Smart or Smart Life app account Password. The password of your app account.&lt;br /&gt;
&lt;br /&gt;
=== LocalTuya ===&lt;br /&gt;
&lt;br /&gt;
[https://github.com/rospogrigio/localtuya/  Local Tuya]&lt;br /&gt;
&lt;br /&gt;
==== Install Get HACS Community Store ====&lt;br /&gt;
&lt;br /&gt;
===== With command line, Without addons =====&lt;br /&gt;
[https://github.com/hacs/ HACS]&lt;br /&gt;
&lt;br /&gt;
* Enable Advanced Mode under the account option&lt;br /&gt;
* Execute bellow command inside the container&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -O - https://get.hacs.xyz | bash - &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Restart docker host (under development)&lt;br /&gt;
&lt;br /&gt;
===== With Addon =====&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;my link&amp;quot; for downloading Hacs installer and execute it &lt;br /&gt;
&lt;br /&gt;
* HACS page link: [https://hacs.xyz/docs/use/download/download/#to-download-hacs | my Link]&lt;br /&gt;
&lt;br /&gt;
==== Install Local Tuya  ====&lt;br /&gt;
&lt;br /&gt;
[[File:LocalTuya Install from HACS.png]]&lt;br /&gt;
&lt;br /&gt;
==== Configure Local Tuya  ====&lt;br /&gt;
* Add the new integration Settings, then Devices &amp;amp; Services  &lt;br /&gt;
&lt;br /&gt;
[[File:Cloud API Account Configuration.png | API Configuration]]&lt;br /&gt;
&lt;br /&gt;
* Install codetheweb/tuyapi&lt;br /&gt;
[https://github.com/codetheweb/tuyapi tuyapi]&lt;br /&gt;
* execute the following command to get the list of all device&lt;br /&gt;
&amp;lt;pre&amp;gt;tuya-cli wizard&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Add new device ====&lt;br /&gt;
&lt;br /&gt;
Globe: Bulbs model 35804 (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Ampoule_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_ampoule1_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      color_mode: 21 # Optional, usually 2 or 21, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      brightness: 22 # Optional, usually 3 or 22, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp: 23 # Optional, usually 4 or 23, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
      color: 24&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Smart Plug 50329 (from Costco)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.240&lt;br /&gt;
  device_id: bedded_dummy&lt;br /&gt;
  local_key: q1w2e3r4_dummy&lt;br /&gt;
  friendly_name: Tuya_Prise_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: switch&lt;br /&gt;
      friendly_name: tuya_prise1_on_off&lt;br /&gt;
      id: 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Led Strip (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Led_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_led_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      brightness: 26&lt;br /&gt;
      color_temp: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_mode: 21 &lt;br /&gt;
      color: 24&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Alexa Integration ===&lt;br /&gt;
&lt;br /&gt;
[https://www.home-assistant.io/integrations/alexa/ Amazon Alexa]&lt;br /&gt;
&lt;br /&gt;
# Create a skill &lt;br /&gt;
&lt;br /&gt;
[https://developer.amazon.com/fr-FR/alexa  Amazon Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Run the skill&lt;br /&gt;
[https://us-east-1.console.aws.amazon.com/console AWS consol]&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1330</id>
		<title>Home-Assistant</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1330"/>
		<updated>2024-11-25T00:29:20Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Install Local Tuya */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Home Page / Link ==&lt;br /&gt;
Main Page: [home-assistant.io]&lt;br /&gt;
&lt;br /&gt;
=== Install with docker ===&lt;br /&gt;
&lt;br /&gt;
* Get source from Linuxserver and build (docker build) &lt;br /&gt;
Linux Server [https://github.com/linuxserver/docker-homeassistant  homeassistant]&lt;br /&gt;
&lt;br /&gt;
* Install HACS to get community app&lt;br /&gt;
&lt;br /&gt;
HACS Instruction: [https://hacs.xyz/docs/setup/prerequisites HACS Prerequisites]&lt;br /&gt;
&lt;br /&gt;
** run a script under login directory on home assistant server&lt;br /&gt;
** Add HACS as a new integration &lt;br /&gt;
&lt;br /&gt;
* Install localTuya with HACS and configure Tuya device localy&lt;br /&gt;
[https://github.com/rospogrigio/localtuya Local Tuya ]&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
=== Roomba ===&lt;br /&gt;
&lt;br /&gt;
# Install dorita980 or inside a container&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
npm install -g dorita980&lt;br /&gt;
get-roomba-password-cloud myemail mypassword&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
docker run -it node sh -c &amp;quot;npm install -g dorita980 &amp;amp;&amp;amp; get-roomba-password-cloud &amp;lt;iRobot Username&amp;gt; &amp;lt;iRobot Password&amp;gt; [Optional API-Key]&amp;quot;&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tuya Integration ===&lt;br /&gt;
&lt;br /&gt;
# Create a could project at iot.tuya.com&lt;br /&gt;
[https://github.com/tuya/tuya-home-assistant/blob/main/docs/platform_configuration.md Initial Setup]&lt;br /&gt;
&lt;br /&gt;
# Country &lt;br /&gt;
## Choose the country you picked when signing up.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access ID : &lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access ID under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access Secret&lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access Secret under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Do not setup API Account&lt;br /&gt;
## Click / Select .Do not configure a Cloud API account&lt;br /&gt;
&lt;br /&gt;
# Account&lt;br /&gt;
## Tuya Smart or Smart Life app account Password. The password of your app account.&lt;br /&gt;
&lt;br /&gt;
=== LocalTuya ===&lt;br /&gt;
&lt;br /&gt;
[https://github.com/rospogrigio/localtuya/  Local Tuya]&lt;br /&gt;
&lt;br /&gt;
==== Install Get HACS Community Store ====&lt;br /&gt;
&lt;br /&gt;
===== With command line, Without addons =====&lt;br /&gt;
[https://github.com/hacs/ HACS]&lt;br /&gt;
&lt;br /&gt;
* Enable Advanced Mode under the account option&lt;br /&gt;
* Execute bellow command inside the container&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -O - https://get.hacs.xyz | bash - &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Restart docker host (under development)&lt;br /&gt;
&lt;br /&gt;
===== With Addon =====&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;my link&amp;quot; for downloading Hacs installer and execute it &lt;br /&gt;
&lt;br /&gt;
* HACS page link: [https://hacs.xyz/docs/use/download/download/#to-download-hacs | my Link]&lt;br /&gt;
&lt;br /&gt;
==== Install Local Tuya  ====&lt;br /&gt;
&lt;br /&gt;
[File:LocalTuya Install from HACS.png]&lt;br /&gt;
&lt;br /&gt;
==== Configure Local Tuya  ====&lt;br /&gt;
* Add the new integration Settings, then Devices &amp;amp; Services  &lt;br /&gt;
&lt;br /&gt;
[[File:Cloud API Account Configuration.png | API Configuration]]&lt;br /&gt;
&lt;br /&gt;
* Install codetheweb/tuyapi&lt;br /&gt;
[https://github.com/codetheweb/tuyapi tuyapi]&lt;br /&gt;
* execute the following command to get the list of all device&lt;br /&gt;
&amp;lt;pre&amp;gt;tuya-cli wizard&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Add new device ====&lt;br /&gt;
&lt;br /&gt;
Globe: Bulbs model 35804 (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Ampoule_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_ampoule1_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      color_mode: 21 # Optional, usually 2 or 21, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      brightness: 22 # Optional, usually 3 or 22, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp: 23 # Optional, usually 4 or 23, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
      color: 24&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Smart Plug 50329 (from Costco)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.240&lt;br /&gt;
  device_id: bedded_dummy&lt;br /&gt;
  local_key: q1w2e3r4_dummy&lt;br /&gt;
  friendly_name: Tuya_Prise_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: switch&lt;br /&gt;
      friendly_name: tuya_prise1_on_off&lt;br /&gt;
      id: 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Led Strip (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Led_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_led_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      brightness: 26&lt;br /&gt;
      color_temp: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_mode: 21 &lt;br /&gt;
      color: 24&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Alexa Integration ===&lt;br /&gt;
&lt;br /&gt;
[https://www.home-assistant.io/integrations/alexa/ Amazon Alexa]&lt;br /&gt;
&lt;br /&gt;
# Create a skill &lt;br /&gt;
&lt;br /&gt;
[https://developer.amazon.com/fr-FR/alexa  Amazon Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Run the skill&lt;br /&gt;
[https://us-east-1.console.aws.amazon.com/console AWS consol]&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=File:LocalTuya_Install_from_HACS.png&amp;diff=1329</id>
		<title>File:LocalTuya Install from HACS.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=File:LocalTuya_Install_from_HACS.png&amp;diff=1329"/>
		<updated>2024-11-25T00:28:29Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1328</id>
		<title>Home-Assistant</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1328"/>
		<updated>2024-11-25T00:25:19Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* With Addon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Home Page / Link ==&lt;br /&gt;
Main Page: [home-assistant.io]&lt;br /&gt;
&lt;br /&gt;
=== Install with docker ===&lt;br /&gt;
&lt;br /&gt;
* Get source from Linuxserver and build (docker build) &lt;br /&gt;
Linux Server [https://github.com/linuxserver/docker-homeassistant  homeassistant]&lt;br /&gt;
&lt;br /&gt;
* Install HACS to get community app&lt;br /&gt;
&lt;br /&gt;
HACS Instruction: [https://hacs.xyz/docs/setup/prerequisites HACS Prerequisites]&lt;br /&gt;
&lt;br /&gt;
** run a script under login directory on home assistant server&lt;br /&gt;
** Add HACS as a new integration &lt;br /&gt;
&lt;br /&gt;
* Install localTuya with HACS and configure Tuya device localy&lt;br /&gt;
[https://github.com/rospogrigio/localtuya Local Tuya ]&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
=== Roomba ===&lt;br /&gt;
&lt;br /&gt;
# Install dorita980 or inside a container&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
npm install -g dorita980&lt;br /&gt;
get-roomba-password-cloud myemail mypassword&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
docker run -it node sh -c &amp;quot;npm install -g dorita980 &amp;amp;&amp;amp; get-roomba-password-cloud &amp;lt;iRobot Username&amp;gt; &amp;lt;iRobot Password&amp;gt; [Optional API-Key]&amp;quot;&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tuya Integration ===&lt;br /&gt;
&lt;br /&gt;
# Create a could project at iot.tuya.com&lt;br /&gt;
[https://github.com/tuya/tuya-home-assistant/blob/main/docs/platform_configuration.md Initial Setup]&lt;br /&gt;
&lt;br /&gt;
# Country &lt;br /&gt;
## Choose the country you picked when signing up.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access ID : &lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access ID under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access Secret&lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access Secret under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Do not setup API Account&lt;br /&gt;
## Click / Select .Do not configure a Cloud API account&lt;br /&gt;
&lt;br /&gt;
# Account&lt;br /&gt;
## Tuya Smart or Smart Life app account Password. The password of your app account.&lt;br /&gt;
&lt;br /&gt;
=== LocalTuya ===&lt;br /&gt;
&lt;br /&gt;
[https://github.com/rospogrigio/localtuya/  Local Tuya]&lt;br /&gt;
&lt;br /&gt;
==== Install Get HACS Community Store ====&lt;br /&gt;
&lt;br /&gt;
===== With command line, Without addons =====&lt;br /&gt;
[https://github.com/hacs/ HACS]&lt;br /&gt;
&lt;br /&gt;
* Enable Advanced Mode under the account option&lt;br /&gt;
* Execute bellow command inside the container&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -O - https://get.hacs.xyz | bash - &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Restart docker host (under development)&lt;br /&gt;
&lt;br /&gt;
===== With Addon =====&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;my link&amp;quot; for downloading Hacs installer and execute it &lt;br /&gt;
&lt;br /&gt;
* HACS page link: [https://hacs.xyz/docs/use/download/download/#to-download-hacs | my Link]&lt;br /&gt;
&lt;br /&gt;
==== Install Local Tuya  ====&lt;br /&gt;
&lt;br /&gt;
==== Configure Local Tuya  ====&lt;br /&gt;
* Add the new integration Settings, then Devices &amp;amp; Services  &lt;br /&gt;
&lt;br /&gt;
[[File:Cloud API Account Configuration.png | API Configuration]]&lt;br /&gt;
&lt;br /&gt;
* Install codetheweb/tuyapi&lt;br /&gt;
[https://github.com/codetheweb/tuyapi tuyapi]&lt;br /&gt;
* execute the following command to get the list of all device&lt;br /&gt;
&amp;lt;pre&amp;gt;tuya-cli wizard&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Add new device ====&lt;br /&gt;
&lt;br /&gt;
Globe: Bulbs model 35804 (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Ampoule_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_ampoule1_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      color_mode: 21 # Optional, usually 2 or 21, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      brightness: 22 # Optional, usually 3 or 22, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp: 23 # Optional, usually 4 or 23, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
      color: 24&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Smart Plug 50329 (from Costco)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.240&lt;br /&gt;
  device_id: bedded_dummy&lt;br /&gt;
  local_key: q1w2e3r4_dummy&lt;br /&gt;
  friendly_name: Tuya_Prise_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: switch&lt;br /&gt;
      friendly_name: tuya_prise1_on_off&lt;br /&gt;
      id: 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Led Strip (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Led_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_led_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      brightness: 26&lt;br /&gt;
      color_temp: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_mode: 21 &lt;br /&gt;
      color: 24&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Alexa Integration ===&lt;br /&gt;
&lt;br /&gt;
[https://www.home-assistant.io/integrations/alexa/ Amazon Alexa]&lt;br /&gt;
&lt;br /&gt;
# Create a skill &lt;br /&gt;
&lt;br /&gt;
[https://developer.amazon.com/fr-FR/alexa  Amazon Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Run the skill&lt;br /&gt;
[https://us-east-1.console.aws.amazon.com/console AWS consol]&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1327</id>
		<title>Home-Assistant</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1327"/>
		<updated>2024-11-25T00:12:27Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Install HACS Home Assistant Community Store */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Home Page / Link ==&lt;br /&gt;
Main Page: [home-assistant.io]&lt;br /&gt;
&lt;br /&gt;
=== Install with docker ===&lt;br /&gt;
&lt;br /&gt;
* Get source from Linuxserver and build (docker build) &lt;br /&gt;
Linux Server [https://github.com/linuxserver/docker-homeassistant  homeassistant]&lt;br /&gt;
&lt;br /&gt;
* Install HACS to get community app&lt;br /&gt;
&lt;br /&gt;
HACS Instruction: [https://hacs.xyz/docs/setup/prerequisites HACS Prerequisites]&lt;br /&gt;
&lt;br /&gt;
** run a script under login directory on home assistant server&lt;br /&gt;
** Add HACS as a new integration &lt;br /&gt;
&lt;br /&gt;
* Install localTuya with HACS and configure Tuya device localy&lt;br /&gt;
[https://github.com/rospogrigio/localtuya Local Tuya ]&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
=== Roomba ===&lt;br /&gt;
&lt;br /&gt;
# Install dorita980 or inside a container&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
npm install -g dorita980&lt;br /&gt;
get-roomba-password-cloud myemail mypassword&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
docker run -it node sh -c &amp;quot;npm install -g dorita980 &amp;amp;&amp;amp; get-roomba-password-cloud &amp;lt;iRobot Username&amp;gt; &amp;lt;iRobot Password&amp;gt; [Optional API-Key]&amp;quot;&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tuya Integration ===&lt;br /&gt;
&lt;br /&gt;
# Create a could project at iot.tuya.com&lt;br /&gt;
[https://github.com/tuya/tuya-home-assistant/blob/main/docs/platform_configuration.md Initial Setup]&lt;br /&gt;
&lt;br /&gt;
# Country &lt;br /&gt;
## Choose the country you picked when signing up.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access ID : &lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access ID under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access Secret&lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access Secret under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Do not setup API Account&lt;br /&gt;
## Click / Select .Do not configure a Cloud API account&lt;br /&gt;
&lt;br /&gt;
# Account&lt;br /&gt;
## Tuya Smart or Smart Life app account Password. The password of your app account.&lt;br /&gt;
&lt;br /&gt;
=== LocalTuya ===&lt;br /&gt;
&lt;br /&gt;
[https://github.com/rospogrigio/localtuya/  Local Tuya]&lt;br /&gt;
&lt;br /&gt;
==== Install Get HACS Community Store ====&lt;br /&gt;
&lt;br /&gt;
===== With command line, Without addons =====&lt;br /&gt;
[https://github.com/hacs/ HACS]&lt;br /&gt;
&lt;br /&gt;
* Enable Advanced Mode under the account option&lt;br /&gt;
* Execute bellow command inside the container&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -O - https://get.hacs.xyz | bash - &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Restart docker host (under development)&lt;br /&gt;
&lt;br /&gt;
===== With Addon =====&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;my link&amp;quot; on HACS page &lt;br /&gt;
[https://hacs.xyz/docs/use/download/download/#to-download-hacs | my Link]&lt;br /&gt;
&lt;br /&gt;
==== Install Local Tuya  ====&lt;br /&gt;
&lt;br /&gt;
==== Configure Local Tuya  ====&lt;br /&gt;
* Add the new integration Settings, then Devices &amp;amp; Services  &lt;br /&gt;
&lt;br /&gt;
[[File:Cloud API Account Configuration.png | API Configuration]]&lt;br /&gt;
&lt;br /&gt;
* Install codetheweb/tuyapi&lt;br /&gt;
[https://github.com/codetheweb/tuyapi tuyapi]&lt;br /&gt;
* execute the following command to get the list of all device&lt;br /&gt;
&amp;lt;pre&amp;gt;tuya-cli wizard&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Add new device ====&lt;br /&gt;
&lt;br /&gt;
Globe: Bulbs model 35804 (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Ampoule_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_ampoule1_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      color_mode: 21 # Optional, usually 2 or 21, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      brightness: 22 # Optional, usually 3 or 22, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp: 23 # Optional, usually 4 or 23, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
      color: 24&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Smart Plug 50329 (from Costco)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.240&lt;br /&gt;
  device_id: bedded_dummy&lt;br /&gt;
  local_key: q1w2e3r4_dummy&lt;br /&gt;
  friendly_name: Tuya_Prise_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: switch&lt;br /&gt;
      friendly_name: tuya_prise1_on_off&lt;br /&gt;
      id: 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Led Strip (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Led_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_led_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      brightness: 26&lt;br /&gt;
      color_temp: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_mode: 21 &lt;br /&gt;
      color: 24&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Alexa Integration ===&lt;br /&gt;
&lt;br /&gt;
[https://www.home-assistant.io/integrations/alexa/ Amazon Alexa]&lt;br /&gt;
&lt;br /&gt;
# Create a skill &lt;br /&gt;
&lt;br /&gt;
[https://developer.amazon.com/fr-FR/alexa  Amazon Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Run the skill&lt;br /&gt;
[https://us-east-1.console.aws.amazon.com/console AWS consol]&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1326</id>
		<title>Home-Assistant</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1326"/>
		<updated>2024-11-24T20:31:15Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Add new device */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Home Page / Link ==&lt;br /&gt;
Main Page: [home-assistant.io]&lt;br /&gt;
&lt;br /&gt;
=== Install with docker ===&lt;br /&gt;
&lt;br /&gt;
* Get source from Linuxserver and build (docker build) &lt;br /&gt;
Linux Server [https://github.com/linuxserver/docker-homeassistant  homeassistant]&lt;br /&gt;
&lt;br /&gt;
* Install HACS to get community app&lt;br /&gt;
&lt;br /&gt;
HACS Instruction: [https://hacs.xyz/docs/setup/prerequisites HACS Prerequisites]&lt;br /&gt;
&lt;br /&gt;
** run a script under login directory on home assistant server&lt;br /&gt;
** Add HACS as a new integration &lt;br /&gt;
&lt;br /&gt;
* Install localTuya with HACS and configure Tuya device localy&lt;br /&gt;
[https://github.com/rospogrigio/localtuya Local Tuya ]&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
=== Roomba ===&lt;br /&gt;
&lt;br /&gt;
# Install dorita980 or inside a container&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
npm install -g dorita980&lt;br /&gt;
get-roomba-password-cloud myemail mypassword&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
docker run -it node sh -c &amp;quot;npm install -g dorita980 &amp;amp;&amp;amp; get-roomba-password-cloud &amp;lt;iRobot Username&amp;gt; &amp;lt;iRobot Password&amp;gt; [Optional API-Key]&amp;quot;&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tuya Integration ===&lt;br /&gt;
&lt;br /&gt;
# Create a could project at iot.tuya.com&lt;br /&gt;
[https://github.com/tuya/tuya-home-assistant/blob/main/docs/platform_configuration.md Initial Setup]&lt;br /&gt;
&lt;br /&gt;
# Country &lt;br /&gt;
## Choose the country you picked when signing up.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access ID : &lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access ID under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access Secret&lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access Secret under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Do not setup API Account&lt;br /&gt;
## Click / Select .Do not configure a Cloud API account&lt;br /&gt;
&lt;br /&gt;
# Account&lt;br /&gt;
## Tuya Smart or Smart Life app account Password. The password of your app account.&lt;br /&gt;
&lt;br /&gt;
=== LocalTuya ===&lt;br /&gt;
&lt;br /&gt;
[https://github.com/rospogrigio/localtuya/  Local Tuya]&lt;br /&gt;
&lt;br /&gt;
==== Install HACS Home Assistant Community Store ====&lt;br /&gt;
&lt;br /&gt;
[https://github.com/hacs/ HACS]&lt;br /&gt;
&lt;br /&gt;
* Enable Advanced Mode under the account option&lt;br /&gt;
* Execute bellow command inside the container&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -O - https://get.hacs.xyz | bash - &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Restart docker host (under development)&lt;br /&gt;
* Add the new integration Settings, then Devices &amp;amp; Services  &lt;br /&gt;
&lt;br /&gt;
[[File:Cloud API Account Configuration.png | API Configuration]]&lt;br /&gt;
&lt;br /&gt;
* Install codetheweb/tuyapi&lt;br /&gt;
[https://github.com/codetheweb/tuyapi tuyapi]&lt;br /&gt;
* execute the following command to get the list of all device&lt;br /&gt;
&amp;lt;pre&amp;gt;tuya-cli wizard&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Add new device ====&lt;br /&gt;
&lt;br /&gt;
Globe: Bulbs model 35804 (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Ampoule_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_ampoule1_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      color_mode: 21 # Optional, usually 2 or 21, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      brightness: 22 # Optional, usually 3 or 22, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp: 23 # Optional, usually 4 or 23, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
      color: 24&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Smart Plug 50329 (from Costco)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.240&lt;br /&gt;
  device_id: bedded_dummy&lt;br /&gt;
  local_key: q1w2e3r4_dummy&lt;br /&gt;
  friendly_name: Tuya_Prise_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: switch&lt;br /&gt;
      friendly_name: tuya_prise1_on_off&lt;br /&gt;
      id: 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Led Strip (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Led_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_led_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      brightness: 26&lt;br /&gt;
      color_temp: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_mode: 21 &lt;br /&gt;
      color: 24&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Alexa Integration ===&lt;br /&gt;
&lt;br /&gt;
[https://www.home-assistant.io/integrations/alexa/ Amazon Alexa]&lt;br /&gt;
&lt;br /&gt;
# Create a skill &lt;br /&gt;
&lt;br /&gt;
[https://developer.amazon.com/fr-FR/alexa  Amazon Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Run the skill&lt;br /&gt;
[https://us-east-1.console.aws.amazon.com/console AWS consol]&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1325</id>
		<title>Home-Assistant</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1325"/>
		<updated>2024-11-24T20:12:15Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Install HACS Home Assistant Community Store */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Home Page / Link ==&lt;br /&gt;
Main Page: [home-assistant.io]&lt;br /&gt;
&lt;br /&gt;
=== Install with docker ===&lt;br /&gt;
&lt;br /&gt;
* Get source from Linuxserver and build (docker build) &lt;br /&gt;
Linux Server [https://github.com/linuxserver/docker-homeassistant  homeassistant]&lt;br /&gt;
&lt;br /&gt;
* Install HACS to get community app&lt;br /&gt;
&lt;br /&gt;
HACS Instruction: [https://hacs.xyz/docs/setup/prerequisites HACS Prerequisites]&lt;br /&gt;
&lt;br /&gt;
** run a script under login directory on home assistant server&lt;br /&gt;
** Add HACS as a new integration &lt;br /&gt;
&lt;br /&gt;
* Install localTuya with HACS and configure Tuya device localy&lt;br /&gt;
[https://github.com/rospogrigio/localtuya Local Tuya ]&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
=== Roomba ===&lt;br /&gt;
&lt;br /&gt;
# Install dorita980 or inside a container&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
npm install -g dorita980&lt;br /&gt;
get-roomba-password-cloud myemail mypassword&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
docker run -it node sh -c &amp;quot;npm install -g dorita980 &amp;amp;&amp;amp; get-roomba-password-cloud &amp;lt;iRobot Username&amp;gt; &amp;lt;iRobot Password&amp;gt; [Optional API-Key]&amp;quot;&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tuya Integration ===&lt;br /&gt;
&lt;br /&gt;
# Create a could project at iot.tuya.com&lt;br /&gt;
[https://github.com/tuya/tuya-home-assistant/blob/main/docs/platform_configuration.md Initial Setup]&lt;br /&gt;
&lt;br /&gt;
# Country &lt;br /&gt;
## Choose the country you picked when signing up.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access ID : &lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access ID under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access Secret&lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access Secret under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Do not setup API Account&lt;br /&gt;
## Click / Select .Do not configure a Cloud API account&lt;br /&gt;
&lt;br /&gt;
# Account&lt;br /&gt;
## Tuya Smart or Smart Life app account Password. The password of your app account.&lt;br /&gt;
&lt;br /&gt;
=== LocalTuya ===&lt;br /&gt;
&lt;br /&gt;
[https://github.com/rospogrigio/localtuya/  Local Tuya]&lt;br /&gt;
&lt;br /&gt;
==== Install HACS Home Assistant Community Store ====&lt;br /&gt;
&lt;br /&gt;
[https://github.com/hacs/ HACS]&lt;br /&gt;
&lt;br /&gt;
* Enable Advanced Mode under the account option&lt;br /&gt;
* Execute bellow command inside the container&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -O - https://get.hacs.xyz | bash - &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Restart docker host (under development)&lt;br /&gt;
* Add the new integration Settings, then Devices &amp;amp; Services  &lt;br /&gt;
&lt;br /&gt;
[[File:Cloud API Account Configuration.png | API Configuration]]&lt;br /&gt;
&lt;br /&gt;
* Install codetheweb/tuyapi&lt;br /&gt;
[https://github.com/codetheweb/tuyapi tuyapi]&lt;br /&gt;
* execute the following command to get the list of all device&lt;br /&gt;
&amp;lt;pre&amp;gt;tuya-cli wizard&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Add new device ====&lt;br /&gt;
&lt;br /&gt;
Globe: Bulbs model 35804 (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Ampoule_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_ampoule1_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      color_mode: 21 # Optional, usually 2 or 21, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      brightness: 22 # Optional, usually 3 or 22, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp: 23 # Optional, usually 4 or 23, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
      color: 24&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Smart Plug 50329 (from Costco)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.240&lt;br /&gt;
  device_id: bedded_dummy&lt;br /&gt;
  local_key: q1w2e3r4_dummy&lt;br /&gt;
  friendly_name: Tuya_Prise_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: switch&lt;br /&gt;
      friendly_name: tuya_prise1_on_off&lt;br /&gt;
      id: 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Led Strip (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Led_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_led_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      brightness: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_mode: 21 &lt;br /&gt;
      color: 24&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Alexa Integration ===&lt;br /&gt;
&lt;br /&gt;
[https://www.home-assistant.io/integrations/alexa/ Amazon Alexa]&lt;br /&gt;
&lt;br /&gt;
# Create a skill &lt;br /&gt;
&lt;br /&gt;
[https://developer.amazon.com/fr-FR/alexa  Amazon Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Run the skill&lt;br /&gt;
[https://us-east-1.console.aws.amazon.com/console AWS consol]&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=File:Cloud_API_Account_Configuration.png&amp;diff=1324</id>
		<title>File:Cloud API Account Configuration.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=File:Cloud_API_Account_Configuration.png&amp;diff=1324"/>
		<updated>2024-11-24T20:08:34Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1323</id>
		<title>Home-Assistant</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1323"/>
		<updated>2024-11-24T20:08:03Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Install HACS Home Assistant Community Store */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Home Page / Link ==&lt;br /&gt;
Main Page: [home-assistant.io]&lt;br /&gt;
&lt;br /&gt;
=== Install with docker ===&lt;br /&gt;
&lt;br /&gt;
* Get source from Linuxserver and build (docker build) &lt;br /&gt;
Linux Server [https://github.com/linuxserver/docker-homeassistant  homeassistant]&lt;br /&gt;
&lt;br /&gt;
* Install HACS to get community app&lt;br /&gt;
&lt;br /&gt;
HACS Instruction: [https://hacs.xyz/docs/setup/prerequisites HACS Prerequisites]&lt;br /&gt;
&lt;br /&gt;
** run a script under login directory on home assistant server&lt;br /&gt;
** Add HACS as a new integration &lt;br /&gt;
&lt;br /&gt;
* Install localTuya with HACS and configure Tuya device localy&lt;br /&gt;
[https://github.com/rospogrigio/localtuya Local Tuya ]&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
=== Roomba ===&lt;br /&gt;
&lt;br /&gt;
# Install dorita980 or inside a container&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
npm install -g dorita980&lt;br /&gt;
get-roomba-password-cloud myemail mypassword&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
docker run -it node sh -c &amp;quot;npm install -g dorita980 &amp;amp;&amp;amp; get-roomba-password-cloud &amp;lt;iRobot Username&amp;gt; &amp;lt;iRobot Password&amp;gt; [Optional API-Key]&amp;quot;&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tuya Integration ===&lt;br /&gt;
&lt;br /&gt;
# Create a could project at iot.tuya.com&lt;br /&gt;
[https://github.com/tuya/tuya-home-assistant/blob/main/docs/platform_configuration.md Initial Setup]&lt;br /&gt;
&lt;br /&gt;
# Country &lt;br /&gt;
## Choose the country you picked when signing up.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access ID : &lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access ID under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access Secret&lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access Secret under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Do not setup API Account&lt;br /&gt;
## Click / Select .Do not configure a Cloud API account&lt;br /&gt;
&lt;br /&gt;
# Account&lt;br /&gt;
## Tuya Smart or Smart Life app account Password. The password of your app account.&lt;br /&gt;
&lt;br /&gt;
=== LocalTuya ===&lt;br /&gt;
&lt;br /&gt;
[https://github.com/rospogrigio/localtuya/  Local Tuya]&lt;br /&gt;
&lt;br /&gt;
==== Install HACS Home Assistant Community Store ====&lt;br /&gt;
&lt;br /&gt;
[https://github.com/hacs/ HACS]&lt;br /&gt;
&lt;br /&gt;
* Enable Advanced Mode under the account option&lt;br /&gt;
* Execute bellow command inside the container&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -O - https://get.hacs.xyz | bash - &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Restart docker host (under development)&lt;br /&gt;
* Add the new integration Settings, then Devices &amp;amp; Services  &lt;br /&gt;
[[File:Cloud_API_Account_Configuration.png]]&lt;br /&gt;
* Install codetheweb/tuyapi&lt;br /&gt;
[https://github.com/codetheweb/tuyapi tuyapi]&lt;br /&gt;
* execute the following command to get the list of all device&lt;br /&gt;
&amp;lt;pre&amp;gt;tuya-cli wizard&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Add new device ====&lt;br /&gt;
&lt;br /&gt;
Globe: Bulbs model 35804 (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Ampoule_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_ampoule1_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      color_mode: 21 # Optional, usually 2 or 21, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      brightness: 22 # Optional, usually 3 or 22, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp: 23 # Optional, usually 4 or 23, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
      color: 24&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Smart Plug 50329 (from Costco)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.240&lt;br /&gt;
  device_id: bedded_dummy&lt;br /&gt;
  local_key: q1w2e3r4_dummy&lt;br /&gt;
  friendly_name: Tuya_Prise_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: switch&lt;br /&gt;
      friendly_name: tuya_prise1_on_off&lt;br /&gt;
      id: 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Led Strip (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Led_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_led_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      brightness: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_mode: 21 &lt;br /&gt;
      color: 24&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Alexa Integration ===&lt;br /&gt;
&lt;br /&gt;
[https://www.home-assistant.io/integrations/alexa/ Amazon Alexa]&lt;br /&gt;
&lt;br /&gt;
# Create a skill &lt;br /&gt;
&lt;br /&gt;
[https://developer.amazon.com/fr-FR/alexa  Amazon Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Run the skill&lt;br /&gt;
[https://us-east-1.console.aws.amazon.com/console AWS consol]&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Linux&amp;diff=1322</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Linux&amp;diff=1322"/>
		<updated>2024-11-14T14:23:17Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Display Remote Screen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Command Line ==&lt;br /&gt;
[[Usefull Linux Command]]&lt;br /&gt;
&lt;br /&gt;
== Vi ==&lt;br /&gt;
[[Vi commands]]&lt;br /&gt;
&lt;br /&gt;
== Work with Disk image ==&lt;br /&gt;
Backup &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
dd if=/dev/sdd of=~/SDCardBackup.img&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Restore&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
dd bs=4M if=~/SDCardBackup.img of=/dev/sdd&lt;br /&gt;
sync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Java ==&lt;br /&gt;
* in case of error message &amp;quot;wrong ELF class: ELFCLASS64&amp;quot;&lt;br /&gt;
* Install 32bit jdk package&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install openjdk-7-jdk:i386&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Win 10 Samba ==&lt;br /&gt;
&lt;br /&gt;
Windows 10 will try to negotiate SMB3_11, which Samba4 doesn&#039;t yet support&lt;br /&gt;
except in the current 4.3 release candidate. I suspect for now disabling&lt;br /&gt;
SMB2/3 on the Windows 10 client is your best, if not ideal, option.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To disable SMBv2 and SMBv3 on the SMB client, run the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi&lt;br /&gt;
sc.exe config mrxsmb20 start= disabled&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To enable SMBv2 and SMBv3 on the SMB client, run the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi&lt;br /&gt;
sc.exe config mrxsmb20 start= auto&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Server Setup ==&lt;br /&gt;
=== Template Server ===&lt;br /&gt;
==== Install Ubuntu Server ====&lt;br /&gt;
# Download ubuntu lts server version&lt;br /&gt;
## Only install open ssh sever &lt;br /&gt;
# Update package : apt-get update&lt;br /&gt;
# Update system : apt-get upgrade&lt;br /&gt;
==== Install Minimum Desktop ====&lt;br /&gt;
# Install minimal desktop : apt-get install --no-install-recommends xubuntu-desktop&lt;br /&gt;
==== Install other Software ====&lt;br /&gt;
# Install other tools : apt-get install firefox synaptic gkrellm gkrellmd gnome-terminal nfs-common xdiskusage gparted&lt;br /&gt;
# To compile : apt-get install build-essential linux-headers-generic&lt;br /&gt;
&lt;br /&gt;
==== Install WebMin ====&lt;br /&gt;
# Download  Webmin : wget http://prdownloads.sourceforge.net/webadmin/webmin_1.910_all.deb&lt;br /&gt;
# Install Dependencies : apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python unzip&lt;br /&gt;
# Install Webmin : dpkg --install webmin_1.910_all.deb&lt;br /&gt;
&lt;br /&gt;
=====Steps to install apt-show-versions on Docker=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get purge apt-show-versions&lt;br /&gt;
rm /var/lib/apt/lists/*gz&lt;br /&gt;
apt-get -o Acquire::GzipIndexes=false update&lt;br /&gt;
apt-get install -y apt-show-versions&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Certificate ===&lt;br /&gt;
[[Certificate | Certificat SSL]]&lt;br /&gt;
&lt;br /&gt;
=== DNS ===&lt;br /&gt;
[[DNS|Bins DNS Server]]&lt;br /&gt;
&lt;br /&gt;
=== Mail Server ===&lt;br /&gt;
[[Mail Server|Mail Server]]&lt;br /&gt;
&lt;br /&gt;
=== WebServer ===&lt;br /&gt;
[[Web Server| Apache]]&lt;br /&gt;
&lt;br /&gt;
=== Fail2Ban ===&lt;br /&gt;
[[Fail2Ban|Fail2Ban]]&lt;br /&gt;
&lt;br /&gt;
== Validate your server over internet service ==&lt;br /&gt;
&lt;br /&gt;
=== Domaine reputation ===&lt;br /&gt;
* Sender Score to evaluation your server/domain reputation &lt;br /&gt;
[https://www.senderscore.org/ senderscore.org]&lt;br /&gt;
&lt;br /&gt;
=== Smtp validation and BlackList ===&lt;br /&gt;
* MxToolBox To validate your certificat your smtp setup and balcklist !!&lt;br /&gt;
[https://mxtoolbox.com/MXLookup.aspx MxToolBox]&lt;br /&gt;
&lt;br /&gt;
* Google postmaster&lt;br /&gt;
[https://postmaster.google.com/ postmaster.google.com]&lt;br /&gt;
&lt;br /&gt;
==Configuration Notes ==&lt;br /&gt;
===SSH===&lt;br /&gt;
* Allow root access&lt;br /&gt;
* edit /etc/ssh/sshd_config&lt;br /&gt;
&amp;lt;pre&amp;gt;PermitRootLogin yes&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allow X11 Forward&lt;br /&gt;
&amp;lt;pre&amp;gt;X11Forwarding yes&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allow external X11 not &lt;br /&gt;
&amp;lt;pre&amp;gt;X11UseLocalhost no &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Restart service&lt;br /&gt;
&amp;lt;pre&amp;gt;service ssh restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Php===&lt;br /&gt;
[[PHP Module]]&lt;br /&gt;
&lt;br /&gt;
=== VirtualBox ===&lt;br /&gt;
* Too display Usb devices&lt;br /&gt;
&amp;lt;pre&amp;gt;usermod -aG vboxusers yourusername&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Increase Virtual Disk space&lt;br /&gt;
** VBoxManage modifyhd &amp;lt;absolute path to file&amp;gt; --resize &amp;lt;size in MB&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;VBoxManage modifyhd wim.vdi --resize 20000&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VNC ===&lt;br /&gt;
* Fixing the tab key in VNC&lt;br /&gt;
&amp;lt;pre&amp;gt;xfconf-query -c xfce4-keyboard-shortcuts -p /xfwm4/custom/&#039;&amp;lt;&#039;Super&#039;&amp;gt;&#039;Tab -r&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Container Docker ===&lt;br /&gt;
* Web site [https://www.docker.com Docker]&lt;br /&gt;
====Install Docker====&lt;br /&gt;
* Install&lt;br /&gt;
&amp;lt;pre&amp;gt; apt-get install docker.io&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Network Configuration====&lt;br /&gt;
* Configuration to share the same network&lt;br /&gt;
* Edit /etc/network/interfaces to add a &amp;quot;bridge&amp;quot; you may have to reconfigure your firewall&lt;br /&gt;
* Add br0 to auto&lt;br /&gt;
* Remove ip assignement or dhcp of eth0&lt;br /&gt;
* Add br0 bridged to eth0 &lt;br /&gt;
&lt;br /&gt;
=====Ip Address assigned by dhcp=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Interfaces(5) file used by ifup(8) and ifdown(8)&lt;br /&gt;
auto lo br0 eth0&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
iface eth0 inet manual&lt;br /&gt;
&lt;br /&gt;
iface br0 inet dhcp&lt;br /&gt;
        bridge_ports eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Ip Address Fix=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Interfaces(5) file used by ifup(8) and ifdown(8)&lt;br /&gt;
auto lo br0 eth0&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
iface br0 inet static&lt;br /&gt;
        address 10.1.1.1&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        broadcast 10.1.1.255&lt;br /&gt;
        network 10.1.1.0&lt;br /&gt;
        bridge_ports eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Update Docker Configuration to use the bridge=====&lt;br /&gt;
* Edit /etc/default/docker.io&lt;br /&gt;
* Add private dns (--dns 192.168.1.1) and bridge (-b br0) to Docker Option line&lt;br /&gt;
&amp;lt;pre&amp;gt; DOCKER_OPTS=&amp;quot;--dns 8.8.8.8 --dns 10.10.1.1 -b br0&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Howto manage container=====&lt;br /&gt;
&lt;br /&gt;
See [[Unix Container | Container Howto]] for the usage&lt;br /&gt;
&lt;br /&gt;
=== Owncloud ===&lt;br /&gt;
* Add the repository &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo sh -c &amp;quot;echo &#039;deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/xUbuntu_14.04/ /&#039; &amp;gt;&amp;gt; /etc/apt/sources.list.d/owncloud.list&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Add Key&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_14.04/Release.key&lt;br /&gt;
sudo apt-key add - &amp;lt; Release.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Install&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install owncloud&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Rescan Directory&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u www-data php occ files:scan --all&lt;br /&gt;
php occ  files:scan --all&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== Notes ====&lt;br /&gt;
===== Remove Maintenance Mode =====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /var/www/owncloud&lt;br /&gt;
sudo -u www-data php occ maintenance:mode --off&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Disable Apps via Command Line =====&lt;br /&gt;
* Get the list&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u www-data ./occ app:list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Disable app&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u www-data ./occ app:disable &amp;lt;app-id&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u www-data ./occ app:disable activity&lt;br /&gt;
sudo -u www-data ./occ app:disable afterlogic&lt;br /&gt;
sudo -u www-data ./occ app:disable bookmarks&lt;br /&gt;
sudo -u www-data ./occ app:disable calendar&lt;br /&gt;
sudo -u www-data ./occ app:disable camerarawpreviews&lt;br /&gt;
sudo -u www-data ./occ app:disable carnet&lt;br /&gt;
sudo -u www-data ./occ app:disable checksum&lt;br /&gt;
sudo -u www-data ./occ app:disable comments&lt;br /&gt;
sudo -u www-data ./occ app:disable configreport&lt;br /&gt;
sudo -u www-data ./occ app:disable contacts&lt;br /&gt;
sudo -u www-data ./occ app:disable dav&lt;br /&gt;
sudo -u www-data ./occ app:disable diagnostics&lt;br /&gt;
sudo -u www-data ./occ app:disable drawio&lt;br /&gt;
sudo -u www-data ./occ app:disable extract&lt;br /&gt;
sudo -u www-data ./occ app:disable federatedfilesharing&lt;br /&gt;
sudo -u www-data ./occ app:disable federation&lt;br /&gt;
sudo -u www-data ./occ app:disable files&lt;br /&gt;
sudo -u www-data ./occ app:disable files_external&lt;br /&gt;
sudo -u www-data ./occ app:disable files_mediaviewer&lt;br /&gt;
sudo -u www-data ./occ app:disable files_pdfviewer&lt;br /&gt;
sudo -u www-data ./occ app:disable files_sharing&lt;br /&gt;
sudo -u www-data ./occ app:disable files_texteditor&lt;br /&gt;
sudo -u www-data ./occ app:disable files_textviewer&lt;br /&gt;
sudo -u www-data ./occ app:disable files_trashbin&lt;br /&gt;
sudo -u www-data ./occ app:disable files_versions&lt;br /&gt;
sudo -u www-data ./occ app:disable firstrunwizard&lt;br /&gt;
sudo -u www-data ./occ app:disable gallery&lt;br /&gt;
sudo -u www-data ./occ app:disable market&lt;br /&gt;
sudo -u www-data ./occ app:disable notes&lt;br /&gt;
sudo -u www-data ./occ app:disable notifications&lt;br /&gt;
sudo -u www-data ./occ app:disable onlyoffice&lt;br /&gt;
sudo -u www-data ./occ app:disable provisioning_api&lt;br /&gt;
sudo -u www-data ./occ app:disable qownnotesapi&lt;br /&gt;
sudo -u www-data ./occ app:disable richdocuments&lt;br /&gt;
sudo -u www-data ./occ app:disable systemtags&lt;br /&gt;
sudo -u www-data ./occ app:disable tasks&lt;br /&gt;
sudo -u www-data ./occ app:disable updatenotification&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Apache Svn Server===&lt;br /&gt;
&lt;br /&gt;
1: Install Apache HTTP server and required modules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sudo apt-get install libapache2-svn apache2&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2: Enable SSL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo a2enmod ssl&lt;br /&gt;
sudo vi /etc/apache2/ports.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add or check that the following is in the file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3: Generate an SSL certificate:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install ssl-cert&lt;br /&gt;
sudo mkdir /etc/apache2/ssl&lt;br /&gt;
sudo /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
4: Create virtual host&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/svnserver&lt;br /&gt;
sudo kate /etc/apache2/sites-available/svnserver&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change (in ports.conf):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;NameVirtualHost *&amp;quot; to &amp;quot;NameVirtualHost *:443&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and (in svnserver)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *&amp;gt; to &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Add, under ServerAdmin (also in file svnserver):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SSLEngine on&lt;br /&gt;
SSLCertificateFile /etc/apache2/ssl/apache.pem&lt;br /&gt;
SSLProtocol all&lt;br /&gt;
SSLCipherSuite HIGH:MEDIUM&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5: Enable the site:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo a2ensite svnserver&lt;br /&gt;
sudo /etc/init.d/apache2 restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To overcome warnings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sudo vi /etc/apache2/apache2.conf&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add: &amp;quot;ServerName $your_server_name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Add, under ServerAdmin (also in file svnserver):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SSLEngine on&lt;br /&gt;
SSLCertificateFile /etc/apache2/ssl/apache.pem&lt;br /&gt;
SSLProtocol all&lt;br /&gt;
SSLCipherSuite HIGH:MEDIUM&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6: Adding repository(ies): The following setup assumes we want to host multiple repositories. Run this for creating the first repository:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo mkdir /var/svn&lt;br /&gt;
sudo svnadmin create /var/svn/mysvnrepository&lt;br /&gt;
sudo chown -R www-data:www-data /var/svn/mysvnrepository&lt;br /&gt;
sudo chmod -R g+ws /var/svn/mysvnrepository&amp;lt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6.a. For more repositories: do step 6 again (changing mysvnrepository Name)&lt;br /&gt;
&lt;br /&gt;
7: Add an authenticated user&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sudo htpasswd -c -m /etc/apache2/dav_svn.passwd $user_name&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
8: Enable and configure WebDAV and SVN:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sudo vi /etc/apache2/mods-available/dav_svn.conf&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add or uncomment:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Location /svn&amp;gt;&lt;br /&gt;
DAV svn&lt;br /&gt;
&lt;br /&gt;
# for multiple repositories - see comments in file&lt;br /&gt;
SVNParentPath /var/svn&lt;br /&gt;
&lt;br /&gt;
AuthType Basic&lt;br /&gt;
AuthName &amp;quot;Subversion Repository&amp;quot;&lt;br /&gt;
AuthUserFile /etc/apache2/dav_svn.passwd&lt;br /&gt;
Require valid-user&lt;br /&gt;
SSLRequireSSL&lt;br /&gt;
&amp;lt;/Location&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9: Restart apache server:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sudo /etc/init.d/apache2 restart&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
10: Validation:&lt;br /&gt;
&lt;br /&gt;
Fired up a browser:&lt;br /&gt;
&lt;br /&gt;
http://localhost/svn/$REPOS&lt;br /&gt;
https://localhost/svn/$REPOS&lt;br /&gt;
&lt;br /&gt;
Commit something:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;svn import --username $user_name anyfile.txt https://localhost/svn/$REPOS/anyfile.txt -m “Testing”&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Accept the certificate and enter password. Check out what you&#039;ve just committed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;svn co --username $user_name https://localhost/svn/$REPOS&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XDMCP ===&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /etc/lightdm/lightdm.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[SeatDefaults]&lt;br /&gt;
greeter-session=lightdm-gtk-greeter&lt;br /&gt;
user-session=xubuntu&lt;br /&gt;
###Nr001 &lt;br /&gt;
allow-guest=false&lt;br /&gt;
greeter-show-manual-login=true&lt;br /&gt;
greeter-hide-users=true&lt;br /&gt;
&lt;br /&gt;
###Nr001&lt;br /&gt;
[XDMCPServer]&lt;br /&gt;
enabled=true&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video File Manipulation ==&lt;br /&gt;
[[video_file_converter |Convert Video file]]&lt;br /&gt;
&lt;br /&gt;
== Display Remote Screen ==&lt;br /&gt;
&lt;br /&gt;
===SSH Server Setup===&lt;br /&gt;
&lt;br /&gt;
* Create .Xauthority on the server under sshd service user (root) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
touch ~/.Xauthority&lt;br /&gt;
xauth add ${HOST}:0 . $(xxd -l 16 -p /dev/urandom)&lt;br /&gt;
xauth list &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/ssh/sshd_config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AllowTcpForwarding yes&lt;br /&gt;
X11Forwarding yes&lt;br /&gt;
X11UseLocalhost no&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Xephyr / xdmcp===&lt;br /&gt;
plugin Xdmcp for remina does not work and since few year noby seams to take care of it !&lt;br /&gt;
&lt;br /&gt;
Instead use &lt;br /&gt;
&amp;lt;pre&amp;gt;Xephyr -query $REMOTE_HOST :1 -screen 1280x1024&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gnome Setting ==&lt;br /&gt;
&lt;br /&gt;
=== Restore min, max icon on windows ===&lt;br /&gt;
* From Command Line&lt;br /&gt;
&amp;lt;pre&amp;gt;gsettings set org.gnome.desktop.wm.preferences button-layout &#039;:minimize,maximize,close&#039; &amp;lt;/pre&amp;gt;&lt;br /&gt;
* Graphic&lt;br /&gt;
# Install dconf-editor&lt;br /&gt;
# Navigate to org/gnome/desktop/wm/preferences&lt;br /&gt;
# Click the line says ‘button-layout’&lt;br /&gt;
# Enter value &#039;/org/gnome/desktop/wm/preferences/button-layout&#039; inside custom value&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1321</id>
		<title>Home-Assistant</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=Home-Assistant&amp;diff=1321"/>
		<updated>2024-07-08T15:03:29Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Home Page / Link ==&lt;br /&gt;
Main Page: [home-assistant.io]&lt;br /&gt;
&lt;br /&gt;
=== Install with docker ===&lt;br /&gt;
&lt;br /&gt;
* Get source from Linuxserver and build (docker build) &lt;br /&gt;
Linux Server [https://github.com/linuxserver/docker-homeassistant  homeassistant]&lt;br /&gt;
&lt;br /&gt;
* Install HACS to get community app&lt;br /&gt;
&lt;br /&gt;
HACS Instruction: [https://hacs.xyz/docs/setup/prerequisites HACS Prerequisites]&lt;br /&gt;
&lt;br /&gt;
** run a script under login directory on home assistant server&lt;br /&gt;
** Add HACS as a new integration &lt;br /&gt;
&lt;br /&gt;
* Install localTuya with HACS and configure Tuya device localy&lt;br /&gt;
[https://github.com/rospogrigio/localtuya Local Tuya ]&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
=== Roomba ===&lt;br /&gt;
&lt;br /&gt;
# Install dorita980 or inside a container&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
npm install -g dorita980&lt;br /&gt;
get-roomba-password-cloud myemail mypassword&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
docker run -it node sh -c &amp;quot;npm install -g dorita980 &amp;amp;&amp;amp; get-roomba-password-cloud &amp;lt;iRobot Username&amp;gt; &amp;lt;iRobot Password&amp;gt; [Optional API-Key]&amp;quot;&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tuya Integration ===&lt;br /&gt;
&lt;br /&gt;
# Create a could project at iot.tuya.com&lt;br /&gt;
[https://github.com/tuya/tuya-home-assistant/blob/main/docs/platform_configuration.md Initial Setup]&lt;br /&gt;
&lt;br /&gt;
# Country &lt;br /&gt;
## Choose the country you picked when signing up.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access ID : &lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access ID under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Tuya IoT Access Secret&lt;br /&gt;
## Go to your cloud project on [https://iot.tuya.com/ Tuya IoT Platform]. &lt;br /&gt;
## Find the Access Secret under Authorization Key on the Project Overview tab.&lt;br /&gt;
&lt;br /&gt;
# Do not setup API Account&lt;br /&gt;
## Click / Select .Do not configure a Cloud API account&lt;br /&gt;
&lt;br /&gt;
# Account&lt;br /&gt;
## Tuya Smart or Smart Life app account Password. The password of your app account.&lt;br /&gt;
&lt;br /&gt;
=== LocalTuya ===&lt;br /&gt;
&lt;br /&gt;
[https://github.com/rospogrigio/localtuya/  Local Tuya]&lt;br /&gt;
&lt;br /&gt;
==== Install HACS Home Assistant Community Store ====&lt;br /&gt;
&lt;br /&gt;
[https://github.com/hacs/ HACS]&lt;br /&gt;
&lt;br /&gt;
* Enable Advanced Mode under the account option&lt;br /&gt;
* Execute bellow command inside the container&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -O - https://get.hacs.xyz | bash - &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Restart docker host (under development)&lt;br /&gt;
* Add the new integration Settings, then Devices &amp;amp; Services  &lt;br /&gt;
* Install codetheweb/tuyapi&lt;br /&gt;
[https://github.com/codetheweb/tuyapi tuyapi]&lt;br /&gt;
* execute the following command to get the list of all device&lt;br /&gt;
&amp;lt;pre&amp;gt;tuya-cli wizard&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Add new device ====&lt;br /&gt;
&lt;br /&gt;
Globe: Bulbs model 35804 (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Ampoule_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_ampoule1_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      color_mode: 21 # Optional, usually 2 or 21, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      brightness: 22 # Optional, usually 3 or 22, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp: 23 # Optional, usually 4 or 23, default: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
      color: 24&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Smart Plug 50329 (from Costco)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.240&lt;br /&gt;
  device_id: bedded_dummy&lt;br /&gt;
  local_key: q1w2e3r4_dummy&lt;br /&gt;
  friendly_name: Tuya_Prise_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: switch&lt;br /&gt;
      friendly_name: tuya_prise1_on_off&lt;br /&gt;
      id: 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Led Strip (from Costco) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- host: 192.168.1.168&lt;br /&gt;
  device_id: aaabbbccc_dummy&lt;br /&gt;
  local_key: ddddeeefff_dummy&lt;br /&gt;
  friendly_name: Tuya_Led_1&lt;br /&gt;
  protocol_version: &amp;quot;3.3&amp;quot;&lt;br /&gt;
  entities:&lt;br /&gt;
    - platform: light&lt;br /&gt;
      friendly_name: tuya_led_on_off&lt;br /&gt;
      id: 20&lt;br /&gt;
      brightness: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_temp: &amp;quot;none&amp;quot;&lt;br /&gt;
      color_mode: 21 &lt;br /&gt;
      color: 24&lt;br /&gt;
      color_temp_min_kelvin: 2000&lt;br /&gt;
      color_temp_max_kelvin: 5000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Alexa Integration ===&lt;br /&gt;
&lt;br /&gt;
[https://www.home-assistant.io/integrations/alexa/ Amazon Alexa]&lt;br /&gt;
&lt;br /&gt;
# Create a skill &lt;br /&gt;
&lt;br /&gt;
[https://developer.amazon.com/fr-FR/alexa  Amazon Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Run the skill&lt;br /&gt;
[https://us-east-1.console.aws.amazon.com/console AWS consol]&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1320</id>
		<title>IOT</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1320"/>
		<updated>2024-06-03T02:03:48Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* ESP32 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Composant==&lt;br /&gt;
&lt;br /&gt;
==Server==&lt;br /&gt;
&lt;br /&gt;
=== MQTT server ===&lt;br /&gt;
&lt;br /&gt;
==== Mosquitto ====&lt;br /&gt;
&lt;br /&gt;
[[https://mosquitto.org/  Mosquitto ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create Password File&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -c /etc/mosquitto/passwd &amp;lt;user_name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add a new user&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -b passwordfile user password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Update configuration file to use the password file&lt;br /&gt;
&lt;br /&gt;
==== Vernemq ====&lt;br /&gt;
&lt;br /&gt;
[[https://vernemq.com VerneMq ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create or replace password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -c /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Add a user to an existing password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -a /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Delete User&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -D /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Show plugins =====&lt;br /&gt;
Show plugins &lt;br /&gt;
vmq-admin plugin show&lt;br /&gt;
&lt;br /&gt;
Enable Plugin&lt;br /&gt;
vmq-admin plugin enable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
Disable a plugin&lt;br /&gt;
vmq-admin plugin disable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
==== Blynk ====&lt;br /&gt;
&lt;br /&gt;
[[https://docs.blynk.cc Blynk ]]&lt;br /&gt;
&lt;br /&gt;
===== Access =====&lt;br /&gt;
* Your Admin url is https://yourserver:9443/admin&lt;br /&gt;
* Your Admin login email is admin@blynk.cc&lt;br /&gt;
* Your Admin password is admin&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===ESP8266===&lt;br /&gt;
[[https://www.amazon.ca/gp/product/B01M8F95QH/ref=oh_aui_detailpage_o06_s00?ie=UTF8&amp;amp;psc=1 NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes Development Board Module]]&lt;br /&gt;
&lt;br /&gt;
[[File:Wemos-d1-mini-esp8266.jpg |center|Mini D1 Pinout]] &lt;br /&gt;
&lt;br /&gt;
[[https://www.adafruit.com/product/2471 Adafruit HUZZAH ESP8266]]&lt;br /&gt;
&lt;br /&gt;
Mode 	GPIO0 	GPIO2 	GPIO15&lt;br /&gt;
* Flash (démarrage normal: exécution du programme installé en Flash) 	3.3v 	3.3v 	GND&lt;br /&gt;
* UART (upload à partir de la liaison série) 	GND 	3.3v 	GND&lt;br /&gt;
* SDIO (démarrage à partir d&#039;une carde SD) 	peu importe 	peu importe 	3.3v&lt;br /&gt;
&lt;br /&gt;
===ESP32===&lt;br /&gt;
====ESP32 D1 mini====&lt;br /&gt;
[[File:Esp-Wroom-32.png|center|alt=Esp32 Wroom Pinout]]&lt;br /&gt;
&lt;br /&gt;
[[File:Esp32-wroom-32 datasheet.pdf|frame|alt=Esp32 Datashee]]&lt;br /&gt;
&lt;br /&gt;
====ESP32 Dev Nodemcu====&lt;br /&gt;
[[File:Esp-wroom-32-aideepen-pinout.jpg|alt=Esp32 Aideepen Pinout]]&lt;br /&gt;
&lt;br /&gt;
==IDE Arduino==&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
==== General ====&lt;br /&gt;
&lt;br /&gt;
# File -&amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs : &lt;br /&gt;
## http://arduino.esp8266.com/stable/package_esp8266com_index.json&lt;br /&gt;
## https://dl.espressif.com/dl/package_esp32_index.json &lt;br /&gt;
## https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json&lt;br /&gt;
&lt;br /&gt;
# Tools -&amp;gt; Boards -&amp;gt; Boards Manager: &lt;br /&gt;
## Search for ESP8266&lt;br /&gt;
## Install Esp8266 by Esp8266 Community&lt;br /&gt;
&lt;br /&gt;
==== NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;WeMos D1 R2 &amp;amp; Mini&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Adafruit HUZZAH ESP8266 breakout ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== HiGrow ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;Adafruit HUZZAH ESP8266&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 921600&lt;br /&gt;
* Flasj Mode -­ DIO&lt;br /&gt;
&lt;br /&gt;
===== Huzzah Reset =====&lt;br /&gt;
&lt;br /&gt;
# Hold down the GPIO0 button, the red LED will be lit&lt;br /&gt;
# While holding down GPIO0, click the RESET button&lt;br /&gt;
# Release RESET, then release GPIO0&lt;br /&gt;
# When you release the RESET button, the red LED will be lit dimly, this means it&#039;s ready to bootload&lt;br /&gt;
&lt;br /&gt;
==== Lolin NodeMcu v3 ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;NodeMcu 1.0 (ESP-12E&amp;quot; Module)&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== ESP23 MCU 2.8 Inch Smart Display ====&lt;br /&gt;
&lt;br /&gt;
# If the port is not visible and get &amp;quot;usbfs: interface 0 claimed by ch341 while &#039;brltty&#039; sets config #1&amp;quot;&lt;br /&gt;
# Identify the vendor with lsusb -­&amp;gt; Bus 001 Device 017: ID 1a86:7523 QinHeng Electronics CH340 serial converter&lt;br /&gt;
# Disable the rule in /usr/lib/udev/rules.d/85-brltty.rules &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Device: 1A86:7523&lt;br /&gt;
# Baum [NLS eReader Zoomax (20 cells)]&lt;br /&gt;
###Nr001 ENV{PRODUCT}==&amp;quot;1a86/7523/*&amp;quot;, ENV{BRLTTY_BRAILLE_DRIVER}=&amp;quot;bm&amp;quot;, GOTO=&amp;quot;brltty_usb_run&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Reboot&lt;br /&gt;
&lt;br /&gt;
* Board URL (in the preference) [https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json]&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency: 240 Mhz (Wifi/BT)&lt;br /&gt;
* Flash Mode: &amp;quot;DIO&amp;quot;&lt;br /&gt;
* Flash Size: &amp;quot;4MB (32Mb)&amp;quot;&lt;br /&gt;
Arduino Runs On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Events Run On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Programmer: &amp;quot;Esptool&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Wio Terminal ====&lt;br /&gt;
* Get Started&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/  Get Started]&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Displaying-Gyro/ Display Gyro Demo]&lt;br /&gt;
&lt;br /&gt;
* Library to load:  sketch -&amp;gt; Include Library -&amp;gt; Add .ZIP Library&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFi Seeed_Arduino_atWiFi]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_FreeRTOS Seeed_Arduino_FreeRTOS]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atUnified Seeed_Arduino_atUnified]&lt;br /&gt;
# [https://github.com/Seeed-Studio/esp-at-lib esp-at-lib esp-at-lib esp-at-lib]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_mbedtls Seeed_Arduino_mbedtls]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFiClientSecure.git Seeed_Arduino_atWiFiClientSecure.git]&lt;br /&gt;
&lt;br /&gt;
* Additional Board: File &amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs: &lt;br /&gt;
# [https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json package_seeeduino_boards_index.json] &lt;br /&gt;
# Install additional boards: Tools &amp;gt; Board &amp;gt; Board Manager and Search Wio Terminal in the Boards Manager&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
# Tools -­&amp;gt; Boards -­&amp;gt; Seeeduino Wio Terminal&lt;br /&gt;
# Cpu Frequency -­&amp;gt; 120 Mhz&lt;br /&gt;
# Upload Speed -­&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ESPHome==&lt;br /&gt;
&lt;br /&gt;
[https://esphome.io/ ESPHome]&lt;br /&gt;
&lt;br /&gt;
===ESPHome Installation===&lt;br /&gt;
====Docker option Dashboard====&lt;br /&gt;
* Get Docker Image &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull ghcr.io/esphome/esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a container and share port 6052&lt;br /&gt;
&lt;br /&gt;
====Docker option command line====&lt;br /&gt;
* Create a project&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run --rm -v &amp;quot;${PWD}&amp;quot;:/config -it ghcr.io/esphome/esphome wizard livingroom.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Local ESPHome Installation====&lt;br /&gt;
&lt;br /&gt;
* Validate Python istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
python3 -m venv venv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create pythin virtual environement&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
source venv/bin/activate&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Install ESPHome&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
pip3 install esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Validate ESPHome istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
esphome version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Upload ESPHome Bin===&lt;br /&gt;
&lt;br /&gt;
==== ESPHome Commande Line ====&lt;br /&gt;
&lt;br /&gt;
esphome run configfile.yaml&lt;br /&gt;
&lt;br /&gt;
==== ESPHome Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* Connect to ESPHome docker port 6052 hppt://localhost:6052 with Chrome !&lt;br /&gt;
* Install from web using Plug into this computer&lt;br /&gt;
&lt;br /&gt;
==TroubleShooting==&lt;br /&gt;
&lt;br /&gt;
===sync===&lt;br /&gt;
# Try to load a new project&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1319</id>
		<title>IOT</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1319"/>
		<updated>2024-06-03T02:02:42Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* ESP32 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Composant==&lt;br /&gt;
&lt;br /&gt;
==Server==&lt;br /&gt;
&lt;br /&gt;
=== MQTT server ===&lt;br /&gt;
&lt;br /&gt;
==== Mosquitto ====&lt;br /&gt;
&lt;br /&gt;
[[https://mosquitto.org/  Mosquitto ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create Password File&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -c /etc/mosquitto/passwd &amp;lt;user_name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add a new user&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -b passwordfile user password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Update configuration file to use the password file&lt;br /&gt;
&lt;br /&gt;
==== Vernemq ====&lt;br /&gt;
&lt;br /&gt;
[[https://vernemq.com VerneMq ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create or replace password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -c /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Add a user to an existing password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -a /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Delete User&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -D /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Show plugins =====&lt;br /&gt;
Show plugins &lt;br /&gt;
vmq-admin plugin show&lt;br /&gt;
&lt;br /&gt;
Enable Plugin&lt;br /&gt;
vmq-admin plugin enable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
Disable a plugin&lt;br /&gt;
vmq-admin plugin disable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
==== Blynk ====&lt;br /&gt;
&lt;br /&gt;
[[https://docs.blynk.cc Blynk ]]&lt;br /&gt;
&lt;br /&gt;
===== Access =====&lt;br /&gt;
* Your Admin url is https://yourserver:9443/admin&lt;br /&gt;
* Your Admin login email is admin@blynk.cc&lt;br /&gt;
* Your Admin password is admin&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===ESP8266===&lt;br /&gt;
[[https://www.amazon.ca/gp/product/B01M8F95QH/ref=oh_aui_detailpage_o06_s00?ie=UTF8&amp;amp;psc=1 NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes Development Board Module]]&lt;br /&gt;
&lt;br /&gt;
[[File:Wemos-d1-mini-esp8266.jpg |center|Mini D1 Pinout]] &lt;br /&gt;
&lt;br /&gt;
[[https://www.adafruit.com/product/2471 Adafruit HUZZAH ESP8266]]&lt;br /&gt;
&lt;br /&gt;
Mode 	GPIO0 	GPIO2 	GPIO15&lt;br /&gt;
* Flash (démarrage normal: exécution du programme installé en Flash) 	3.3v 	3.3v 	GND&lt;br /&gt;
* UART (upload à partir de la liaison série) 	GND 	3.3v 	GND&lt;br /&gt;
* SDIO (démarrage à partir d&#039;une carde SD) 	peu importe 	peu importe 	3.3v&lt;br /&gt;
&lt;br /&gt;
===ESP32===&lt;br /&gt;
&lt;br /&gt;
[[File:Esp-Wroom-32.png|center|alt=Esp32 Wroom Pinout]]&lt;br /&gt;
&lt;br /&gt;
[[File:Esp32-wroom-32 datasheet.pdf|frame|alt=Esp32 Datashee]]&lt;br /&gt;
&lt;br /&gt;
[[File:Esp-wroom-32-aideepen-pinout.jpg|alt=Esp32 Aideepen Pinout]]&lt;br /&gt;
&lt;br /&gt;
==IDE Arduino==&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
==== General ====&lt;br /&gt;
&lt;br /&gt;
# File -&amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs : &lt;br /&gt;
## http://arduino.esp8266.com/stable/package_esp8266com_index.json&lt;br /&gt;
## https://dl.espressif.com/dl/package_esp32_index.json &lt;br /&gt;
## https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json&lt;br /&gt;
&lt;br /&gt;
# Tools -&amp;gt; Boards -&amp;gt; Boards Manager: &lt;br /&gt;
## Search for ESP8266&lt;br /&gt;
## Install Esp8266 by Esp8266 Community&lt;br /&gt;
&lt;br /&gt;
==== NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;WeMos D1 R2 &amp;amp; Mini&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Adafruit HUZZAH ESP8266 breakout ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== HiGrow ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;Adafruit HUZZAH ESP8266&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 921600&lt;br /&gt;
* Flasj Mode -­ DIO&lt;br /&gt;
&lt;br /&gt;
===== Huzzah Reset =====&lt;br /&gt;
&lt;br /&gt;
# Hold down the GPIO0 button, the red LED will be lit&lt;br /&gt;
# While holding down GPIO0, click the RESET button&lt;br /&gt;
# Release RESET, then release GPIO0&lt;br /&gt;
# When you release the RESET button, the red LED will be lit dimly, this means it&#039;s ready to bootload&lt;br /&gt;
&lt;br /&gt;
==== Lolin NodeMcu v3 ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;NodeMcu 1.0 (ESP-12E&amp;quot; Module)&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== ESP23 MCU 2.8 Inch Smart Display ====&lt;br /&gt;
&lt;br /&gt;
# If the port is not visible and get &amp;quot;usbfs: interface 0 claimed by ch341 while &#039;brltty&#039; sets config #1&amp;quot;&lt;br /&gt;
# Identify the vendor with lsusb -­&amp;gt; Bus 001 Device 017: ID 1a86:7523 QinHeng Electronics CH340 serial converter&lt;br /&gt;
# Disable the rule in /usr/lib/udev/rules.d/85-brltty.rules &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Device: 1A86:7523&lt;br /&gt;
# Baum [NLS eReader Zoomax (20 cells)]&lt;br /&gt;
###Nr001 ENV{PRODUCT}==&amp;quot;1a86/7523/*&amp;quot;, ENV{BRLTTY_BRAILLE_DRIVER}=&amp;quot;bm&amp;quot;, GOTO=&amp;quot;brltty_usb_run&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Reboot&lt;br /&gt;
&lt;br /&gt;
* Board URL (in the preference) [https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json]&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency: 240 Mhz (Wifi/BT)&lt;br /&gt;
* Flash Mode: &amp;quot;DIO&amp;quot;&lt;br /&gt;
* Flash Size: &amp;quot;4MB (32Mb)&amp;quot;&lt;br /&gt;
Arduino Runs On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Events Run On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Programmer: &amp;quot;Esptool&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Wio Terminal ====&lt;br /&gt;
* Get Started&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/  Get Started]&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Displaying-Gyro/ Display Gyro Demo]&lt;br /&gt;
&lt;br /&gt;
* Library to load:  sketch -&amp;gt; Include Library -&amp;gt; Add .ZIP Library&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFi Seeed_Arduino_atWiFi]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_FreeRTOS Seeed_Arduino_FreeRTOS]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atUnified Seeed_Arduino_atUnified]&lt;br /&gt;
# [https://github.com/Seeed-Studio/esp-at-lib esp-at-lib esp-at-lib esp-at-lib]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_mbedtls Seeed_Arduino_mbedtls]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFiClientSecure.git Seeed_Arduino_atWiFiClientSecure.git]&lt;br /&gt;
&lt;br /&gt;
* Additional Board: File &amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs: &lt;br /&gt;
# [https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json package_seeeduino_boards_index.json] &lt;br /&gt;
# Install additional boards: Tools &amp;gt; Board &amp;gt; Board Manager and Search Wio Terminal in the Boards Manager&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
# Tools -­&amp;gt; Boards -­&amp;gt; Seeeduino Wio Terminal&lt;br /&gt;
# Cpu Frequency -­&amp;gt; 120 Mhz&lt;br /&gt;
# Upload Speed -­&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ESPHome==&lt;br /&gt;
&lt;br /&gt;
[https://esphome.io/ ESPHome]&lt;br /&gt;
&lt;br /&gt;
===ESPHome Installation===&lt;br /&gt;
====Docker option Dashboard====&lt;br /&gt;
* Get Docker Image &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull ghcr.io/esphome/esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a container and share port 6052&lt;br /&gt;
&lt;br /&gt;
====Docker option command line====&lt;br /&gt;
* Create a project&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run --rm -v &amp;quot;${PWD}&amp;quot;:/config -it ghcr.io/esphome/esphome wizard livingroom.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Local ESPHome Installation====&lt;br /&gt;
&lt;br /&gt;
* Validate Python istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
python3 -m venv venv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create pythin virtual environement&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
source venv/bin/activate&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Install ESPHome&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
pip3 install esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Validate ESPHome istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
esphome version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Upload ESPHome Bin===&lt;br /&gt;
&lt;br /&gt;
==== ESPHome Commande Line ====&lt;br /&gt;
&lt;br /&gt;
esphome run configfile.yaml&lt;br /&gt;
&lt;br /&gt;
==== ESPHome Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* Connect to ESPHome docker port 6052 hppt://localhost:6052 with Chrome !&lt;br /&gt;
* Install from web using Plug into this computer&lt;br /&gt;
&lt;br /&gt;
==TroubleShooting==&lt;br /&gt;
&lt;br /&gt;
===sync===&lt;br /&gt;
# Try to load a new project&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=File:Esp-wroom-32-aideepen-pinout.jpg&amp;diff=1318</id>
		<title>File:Esp-wroom-32-aideepen-pinout.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=File:Esp-wroom-32-aideepen-pinout.jpg&amp;diff=1318"/>
		<updated>2024-06-03T02:00:30Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1317</id>
		<title>IOT</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1317"/>
		<updated>2024-05-20T13:58:00Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* ESP8266 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Composant==&lt;br /&gt;
&lt;br /&gt;
==Server==&lt;br /&gt;
&lt;br /&gt;
=== MQTT server ===&lt;br /&gt;
&lt;br /&gt;
==== Mosquitto ====&lt;br /&gt;
&lt;br /&gt;
[[https://mosquitto.org/  Mosquitto ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create Password File&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -c /etc/mosquitto/passwd &amp;lt;user_name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add a new user&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -b passwordfile user password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Update configuration file to use the password file&lt;br /&gt;
&lt;br /&gt;
==== Vernemq ====&lt;br /&gt;
&lt;br /&gt;
[[https://vernemq.com VerneMq ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create or replace password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -c /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Add a user to an existing password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -a /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Delete User&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -D /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Show plugins =====&lt;br /&gt;
Show plugins &lt;br /&gt;
vmq-admin plugin show&lt;br /&gt;
&lt;br /&gt;
Enable Plugin&lt;br /&gt;
vmq-admin plugin enable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
Disable a plugin&lt;br /&gt;
vmq-admin plugin disable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
==== Blynk ====&lt;br /&gt;
&lt;br /&gt;
[[https://docs.blynk.cc Blynk ]]&lt;br /&gt;
&lt;br /&gt;
===== Access =====&lt;br /&gt;
* Your Admin url is https://yourserver:9443/admin&lt;br /&gt;
* Your Admin login email is admin@blynk.cc&lt;br /&gt;
* Your Admin password is admin&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===ESP8266===&lt;br /&gt;
[[https://www.amazon.ca/gp/product/B01M8F95QH/ref=oh_aui_detailpage_o06_s00?ie=UTF8&amp;amp;psc=1 NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes Development Board Module]]&lt;br /&gt;
&lt;br /&gt;
[[File:Wemos-d1-mini-esp8266.jpg |center|Mini D1 Pinout]] &lt;br /&gt;
&lt;br /&gt;
[[https://www.adafruit.com/product/2471 Adafruit HUZZAH ESP8266]]&lt;br /&gt;
&lt;br /&gt;
Mode 	GPIO0 	GPIO2 	GPIO15&lt;br /&gt;
* Flash (démarrage normal: exécution du programme installé en Flash) 	3.3v 	3.3v 	GND&lt;br /&gt;
* UART (upload à partir de la liaison série) 	GND 	3.3v 	GND&lt;br /&gt;
* SDIO (démarrage à partir d&#039;une carde SD) 	peu importe 	peu importe 	3.3v&lt;br /&gt;
&lt;br /&gt;
===ESP32===&lt;br /&gt;
&lt;br /&gt;
[[File:Esp-Wroom-32.png|center|alt=Esp32 Wroom Pinout]]&lt;br /&gt;
&lt;br /&gt;
[[File:Esp32-wroom-32 datasheet.pdf|frame|alt=Esp32 Datashee]]&lt;br /&gt;
&lt;br /&gt;
==IDE Arduino==&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
==== General ====&lt;br /&gt;
&lt;br /&gt;
# File -&amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs : &lt;br /&gt;
## http://arduino.esp8266.com/stable/package_esp8266com_index.json&lt;br /&gt;
## https://dl.espressif.com/dl/package_esp32_index.json &lt;br /&gt;
## https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json&lt;br /&gt;
&lt;br /&gt;
# Tools -&amp;gt; Boards -&amp;gt; Boards Manager: &lt;br /&gt;
## Search for ESP8266&lt;br /&gt;
## Install Esp8266 by Esp8266 Community&lt;br /&gt;
&lt;br /&gt;
==== NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;WeMos D1 R2 &amp;amp; Mini&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Adafruit HUZZAH ESP8266 breakout ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== HiGrow ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;Adafruit HUZZAH ESP8266&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 921600&lt;br /&gt;
* Flasj Mode -­ DIO&lt;br /&gt;
&lt;br /&gt;
===== Huzzah Reset =====&lt;br /&gt;
&lt;br /&gt;
# Hold down the GPIO0 button, the red LED will be lit&lt;br /&gt;
# While holding down GPIO0, click the RESET button&lt;br /&gt;
# Release RESET, then release GPIO0&lt;br /&gt;
# When you release the RESET button, the red LED will be lit dimly, this means it&#039;s ready to bootload&lt;br /&gt;
&lt;br /&gt;
==== Lolin NodeMcu v3 ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;NodeMcu 1.0 (ESP-12E&amp;quot; Module)&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== ESP23 MCU 2.8 Inch Smart Display ====&lt;br /&gt;
&lt;br /&gt;
# If the port is not visible and get &amp;quot;usbfs: interface 0 claimed by ch341 while &#039;brltty&#039; sets config #1&amp;quot;&lt;br /&gt;
# Identify the vendor with lsusb -­&amp;gt; Bus 001 Device 017: ID 1a86:7523 QinHeng Electronics CH340 serial converter&lt;br /&gt;
# Disable the rule in /usr/lib/udev/rules.d/85-brltty.rules &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Device: 1A86:7523&lt;br /&gt;
# Baum [NLS eReader Zoomax (20 cells)]&lt;br /&gt;
###Nr001 ENV{PRODUCT}==&amp;quot;1a86/7523/*&amp;quot;, ENV{BRLTTY_BRAILLE_DRIVER}=&amp;quot;bm&amp;quot;, GOTO=&amp;quot;brltty_usb_run&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Reboot&lt;br /&gt;
&lt;br /&gt;
* Board URL (in the preference) [https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json]&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency: 240 Mhz (Wifi/BT)&lt;br /&gt;
* Flash Mode: &amp;quot;DIO&amp;quot;&lt;br /&gt;
* Flash Size: &amp;quot;4MB (32Mb)&amp;quot;&lt;br /&gt;
Arduino Runs On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Events Run On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Programmer: &amp;quot;Esptool&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Wio Terminal ====&lt;br /&gt;
* Get Started&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/  Get Started]&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Displaying-Gyro/ Display Gyro Demo]&lt;br /&gt;
&lt;br /&gt;
* Library to load:  sketch -&amp;gt; Include Library -&amp;gt; Add .ZIP Library&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFi Seeed_Arduino_atWiFi]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_FreeRTOS Seeed_Arduino_FreeRTOS]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atUnified Seeed_Arduino_atUnified]&lt;br /&gt;
# [https://github.com/Seeed-Studio/esp-at-lib esp-at-lib esp-at-lib esp-at-lib]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_mbedtls Seeed_Arduino_mbedtls]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFiClientSecure.git Seeed_Arduino_atWiFiClientSecure.git]&lt;br /&gt;
&lt;br /&gt;
* Additional Board: File &amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs: &lt;br /&gt;
# [https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json package_seeeduino_boards_index.json] &lt;br /&gt;
# Install additional boards: Tools &amp;gt; Board &amp;gt; Board Manager and Search Wio Terminal in the Boards Manager&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
# Tools -­&amp;gt; Boards -­&amp;gt; Seeeduino Wio Terminal&lt;br /&gt;
# Cpu Frequency -­&amp;gt; 120 Mhz&lt;br /&gt;
# Upload Speed -­&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ESPHome==&lt;br /&gt;
&lt;br /&gt;
[https://esphome.io/ ESPHome]&lt;br /&gt;
&lt;br /&gt;
===ESPHome Installation===&lt;br /&gt;
====Docker option Dashboard====&lt;br /&gt;
* Get Docker Image &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull ghcr.io/esphome/esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a container and share port 6052&lt;br /&gt;
&lt;br /&gt;
====Docker option command line====&lt;br /&gt;
* Create a project&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run --rm -v &amp;quot;${PWD}&amp;quot;:/config -it ghcr.io/esphome/esphome wizard livingroom.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Local ESPHome Installation====&lt;br /&gt;
&lt;br /&gt;
* Validate Python istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
python3 -m venv venv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create pythin virtual environement&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
source venv/bin/activate&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Install ESPHome&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
pip3 install esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Validate ESPHome istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
esphome version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Upload ESPHome Bin===&lt;br /&gt;
&lt;br /&gt;
==== ESPHome Commande Line ====&lt;br /&gt;
&lt;br /&gt;
esphome run configfile.yaml&lt;br /&gt;
&lt;br /&gt;
==== ESPHome Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* Connect to ESPHome docker port 6052 hppt://localhost:6052 with Chrome !&lt;br /&gt;
* Install from web using Plug into this computer&lt;br /&gt;
&lt;br /&gt;
==TroubleShooting==&lt;br /&gt;
&lt;br /&gt;
===sync===&lt;br /&gt;
# Try to load a new project&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1316</id>
		<title>IOT</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1316"/>
		<updated>2024-05-20T13:57:38Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* ESP8266 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Composant==&lt;br /&gt;
&lt;br /&gt;
==Server==&lt;br /&gt;
&lt;br /&gt;
=== MQTT server ===&lt;br /&gt;
&lt;br /&gt;
==== Mosquitto ====&lt;br /&gt;
&lt;br /&gt;
[[https://mosquitto.org/  Mosquitto ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create Password File&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -c /etc/mosquitto/passwd &amp;lt;user_name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add a new user&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -b passwordfile user password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Update configuration file to use the password file&lt;br /&gt;
&lt;br /&gt;
==== Vernemq ====&lt;br /&gt;
&lt;br /&gt;
[[https://vernemq.com VerneMq ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create or replace password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -c /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Add a user to an existing password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -a /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Delete User&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -D /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Show plugins =====&lt;br /&gt;
Show plugins &lt;br /&gt;
vmq-admin plugin show&lt;br /&gt;
&lt;br /&gt;
Enable Plugin&lt;br /&gt;
vmq-admin plugin enable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
Disable a plugin&lt;br /&gt;
vmq-admin plugin disable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
==== Blynk ====&lt;br /&gt;
&lt;br /&gt;
[[https://docs.blynk.cc Blynk ]]&lt;br /&gt;
&lt;br /&gt;
===== Access =====&lt;br /&gt;
* Your Admin url is https://yourserver:9443/admin&lt;br /&gt;
* Your Admin login email is admin@blynk.cc&lt;br /&gt;
* Your Admin password is admin&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===ESP8266===&lt;br /&gt;
[[https://www.amazon.ca/gp/product/B01M8F95QH/ref=oh_aui_detailpage_o06_s00?ie=UTF8&amp;amp;psc=1 NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes Development Board Module]]&lt;br /&gt;
&lt;br /&gt;
[[File:Wemos-d1-mini-esp8266.jpg |center|alt text Mini D1 Pinout]] &lt;br /&gt;
&lt;br /&gt;
[[https://www.adafruit.com/product/2471 Adafruit HUZZAH ESP8266]]&lt;br /&gt;
&lt;br /&gt;
Mode 	GPIO0 	GPIO2 	GPIO15&lt;br /&gt;
* Flash (démarrage normal: exécution du programme installé en Flash) 	3.3v 	3.3v 	GND&lt;br /&gt;
* UART (upload à partir de la liaison série) 	GND 	3.3v 	GND&lt;br /&gt;
* SDIO (démarrage à partir d&#039;une carde SD) 	peu importe 	peu importe 	3.3v&lt;br /&gt;
&lt;br /&gt;
===ESP32===&lt;br /&gt;
&lt;br /&gt;
[[File:Esp-Wroom-32.png|center|alt=Esp32 Wroom Pinout]]&lt;br /&gt;
&lt;br /&gt;
[[File:Esp32-wroom-32 datasheet.pdf|frame|alt=Esp32 Datashee]]&lt;br /&gt;
&lt;br /&gt;
==IDE Arduino==&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
==== General ====&lt;br /&gt;
&lt;br /&gt;
# File -&amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs : &lt;br /&gt;
## http://arduino.esp8266.com/stable/package_esp8266com_index.json&lt;br /&gt;
## https://dl.espressif.com/dl/package_esp32_index.json &lt;br /&gt;
## https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json&lt;br /&gt;
&lt;br /&gt;
# Tools -&amp;gt; Boards -&amp;gt; Boards Manager: &lt;br /&gt;
## Search for ESP8266&lt;br /&gt;
## Install Esp8266 by Esp8266 Community&lt;br /&gt;
&lt;br /&gt;
==== NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;WeMos D1 R2 &amp;amp; Mini&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Adafruit HUZZAH ESP8266 breakout ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== HiGrow ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;Adafruit HUZZAH ESP8266&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 921600&lt;br /&gt;
* Flasj Mode -­ DIO&lt;br /&gt;
&lt;br /&gt;
===== Huzzah Reset =====&lt;br /&gt;
&lt;br /&gt;
# Hold down the GPIO0 button, the red LED will be lit&lt;br /&gt;
# While holding down GPIO0, click the RESET button&lt;br /&gt;
# Release RESET, then release GPIO0&lt;br /&gt;
# When you release the RESET button, the red LED will be lit dimly, this means it&#039;s ready to bootload&lt;br /&gt;
&lt;br /&gt;
==== Lolin NodeMcu v3 ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;NodeMcu 1.0 (ESP-12E&amp;quot; Module)&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== ESP23 MCU 2.8 Inch Smart Display ====&lt;br /&gt;
&lt;br /&gt;
# If the port is not visible and get &amp;quot;usbfs: interface 0 claimed by ch341 while &#039;brltty&#039; sets config #1&amp;quot;&lt;br /&gt;
# Identify the vendor with lsusb -­&amp;gt; Bus 001 Device 017: ID 1a86:7523 QinHeng Electronics CH340 serial converter&lt;br /&gt;
# Disable the rule in /usr/lib/udev/rules.d/85-brltty.rules &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Device: 1A86:7523&lt;br /&gt;
# Baum [NLS eReader Zoomax (20 cells)]&lt;br /&gt;
###Nr001 ENV{PRODUCT}==&amp;quot;1a86/7523/*&amp;quot;, ENV{BRLTTY_BRAILLE_DRIVER}=&amp;quot;bm&amp;quot;, GOTO=&amp;quot;brltty_usb_run&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Reboot&lt;br /&gt;
&lt;br /&gt;
* Board URL (in the preference) [https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json]&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency: 240 Mhz (Wifi/BT)&lt;br /&gt;
* Flash Mode: &amp;quot;DIO&amp;quot;&lt;br /&gt;
* Flash Size: &amp;quot;4MB (32Mb)&amp;quot;&lt;br /&gt;
Arduino Runs On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Events Run On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Programmer: &amp;quot;Esptool&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Wio Terminal ====&lt;br /&gt;
* Get Started&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/  Get Started]&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Displaying-Gyro/ Display Gyro Demo]&lt;br /&gt;
&lt;br /&gt;
* Library to load:  sketch -&amp;gt; Include Library -&amp;gt; Add .ZIP Library&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFi Seeed_Arduino_atWiFi]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_FreeRTOS Seeed_Arduino_FreeRTOS]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atUnified Seeed_Arduino_atUnified]&lt;br /&gt;
# [https://github.com/Seeed-Studio/esp-at-lib esp-at-lib esp-at-lib esp-at-lib]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_mbedtls Seeed_Arduino_mbedtls]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFiClientSecure.git Seeed_Arduino_atWiFiClientSecure.git]&lt;br /&gt;
&lt;br /&gt;
* Additional Board: File &amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs: &lt;br /&gt;
# [https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json package_seeeduino_boards_index.json] &lt;br /&gt;
# Install additional boards: Tools &amp;gt; Board &amp;gt; Board Manager and Search Wio Terminal in the Boards Manager&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
# Tools -­&amp;gt; Boards -­&amp;gt; Seeeduino Wio Terminal&lt;br /&gt;
# Cpu Frequency -­&amp;gt; 120 Mhz&lt;br /&gt;
# Upload Speed -­&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ESPHome==&lt;br /&gt;
&lt;br /&gt;
[https://esphome.io/ ESPHome]&lt;br /&gt;
&lt;br /&gt;
===ESPHome Installation===&lt;br /&gt;
====Docker option Dashboard====&lt;br /&gt;
* Get Docker Image &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull ghcr.io/esphome/esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a container and share port 6052&lt;br /&gt;
&lt;br /&gt;
====Docker option command line====&lt;br /&gt;
* Create a project&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run --rm -v &amp;quot;${PWD}&amp;quot;:/config -it ghcr.io/esphome/esphome wizard livingroom.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Local ESPHome Installation====&lt;br /&gt;
&lt;br /&gt;
* Validate Python istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
python3 -m venv venv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create pythin virtual environement&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
source venv/bin/activate&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Install ESPHome&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
pip3 install esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Validate ESPHome istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
esphome version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Upload ESPHome Bin===&lt;br /&gt;
&lt;br /&gt;
==== ESPHome Commande Line ====&lt;br /&gt;
&lt;br /&gt;
esphome run configfile.yaml&lt;br /&gt;
&lt;br /&gt;
==== ESPHome Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* Connect to ESPHome docker port 6052 hppt://localhost:6052 with Chrome !&lt;br /&gt;
* Install from web using Plug into this computer&lt;br /&gt;
&lt;br /&gt;
==TroubleShooting==&lt;br /&gt;
&lt;br /&gt;
===sync===&lt;br /&gt;
# Try to load a new project&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=File:Wemos-d1-mini-esp8266.jpg&amp;diff=1315</id>
		<title>File:Wemos-d1-mini-esp8266.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=File:Wemos-d1-mini-esp8266.jpg&amp;diff=1315"/>
		<updated>2024-05-20T13:55:39Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1314</id>
		<title>IOT</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1314"/>
		<updated>2024-05-19T17:36:24Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* ESP32 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Composant==&lt;br /&gt;
&lt;br /&gt;
==Server==&lt;br /&gt;
&lt;br /&gt;
=== MQTT server ===&lt;br /&gt;
&lt;br /&gt;
==== Mosquitto ====&lt;br /&gt;
&lt;br /&gt;
[[https://mosquitto.org/  Mosquitto ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create Password File&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -c /etc/mosquitto/passwd &amp;lt;user_name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add a new user&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -b passwordfile user password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Update configuration file to use the password file&lt;br /&gt;
&lt;br /&gt;
==== Vernemq ====&lt;br /&gt;
&lt;br /&gt;
[[https://vernemq.com VerneMq ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create or replace password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -c /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Add a user to an existing password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -a /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Delete User&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -D /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Show plugins =====&lt;br /&gt;
Show plugins &lt;br /&gt;
vmq-admin plugin show&lt;br /&gt;
&lt;br /&gt;
Enable Plugin&lt;br /&gt;
vmq-admin plugin enable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
Disable a plugin&lt;br /&gt;
vmq-admin plugin disable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
==== Blynk ====&lt;br /&gt;
&lt;br /&gt;
[[https://docs.blynk.cc Blynk ]]&lt;br /&gt;
&lt;br /&gt;
===== Access =====&lt;br /&gt;
* Your Admin url is https://yourserver:9443/admin&lt;br /&gt;
* Your Admin login email is admin@blynk.cc&lt;br /&gt;
* Your Admin password is admin&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===ESP8266===&lt;br /&gt;
[[https://www.amazon.ca/gp/product/B01M8F95QH/ref=oh_aui_detailpage_o06_s00?ie=UTF8&amp;amp;psc=1 NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes Development Board Module]]&lt;br /&gt;
&lt;br /&gt;
[[https://www.adafruit.com/product/2471 Adafruit HUZZAH ESP8266]]&lt;br /&gt;
&lt;br /&gt;
Mode 	GPIO0 	GPIO2 	GPIO15&lt;br /&gt;
* Flash (démarrage normal: exécution du programme installé en Flash) 	3.3v 	3.3v 	GND&lt;br /&gt;
* UART (upload à partir de la liaison série) 	GND 	3.3v 	GND&lt;br /&gt;
* SDIO (démarrage à partir d&#039;une carde SD) 	peu importe 	peu importe 	3.3v&lt;br /&gt;
&lt;br /&gt;
===ESP32===&lt;br /&gt;
&lt;br /&gt;
[[File:Esp-Wroom-32.png|center|alt=Esp32 Wroom Pinout]]&lt;br /&gt;
&lt;br /&gt;
[[File:Esp32-wroom-32 datasheet.pdf|frame|alt=Esp32 Datashee]]&lt;br /&gt;
&lt;br /&gt;
==IDE Arduino==&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
==== General ====&lt;br /&gt;
&lt;br /&gt;
# File -&amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs : &lt;br /&gt;
## http://arduino.esp8266.com/stable/package_esp8266com_index.json&lt;br /&gt;
## https://dl.espressif.com/dl/package_esp32_index.json &lt;br /&gt;
## https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json&lt;br /&gt;
&lt;br /&gt;
# Tools -&amp;gt; Boards -&amp;gt; Boards Manager: &lt;br /&gt;
## Search for ESP8266&lt;br /&gt;
## Install Esp8266 by Esp8266 Community&lt;br /&gt;
&lt;br /&gt;
==== NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;WeMos D1 R2 &amp;amp; Mini&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Adafruit HUZZAH ESP8266 breakout ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== HiGrow ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;Adafruit HUZZAH ESP8266&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 921600&lt;br /&gt;
* Flasj Mode -­ DIO&lt;br /&gt;
&lt;br /&gt;
===== Huzzah Reset =====&lt;br /&gt;
&lt;br /&gt;
# Hold down the GPIO0 button, the red LED will be lit&lt;br /&gt;
# While holding down GPIO0, click the RESET button&lt;br /&gt;
# Release RESET, then release GPIO0&lt;br /&gt;
# When you release the RESET button, the red LED will be lit dimly, this means it&#039;s ready to bootload&lt;br /&gt;
&lt;br /&gt;
==== Lolin NodeMcu v3 ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;NodeMcu 1.0 (ESP-12E&amp;quot; Module)&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== ESP23 MCU 2.8 Inch Smart Display ====&lt;br /&gt;
&lt;br /&gt;
# If the port is not visible and get &amp;quot;usbfs: interface 0 claimed by ch341 while &#039;brltty&#039; sets config #1&amp;quot;&lt;br /&gt;
# Identify the vendor with lsusb -­&amp;gt; Bus 001 Device 017: ID 1a86:7523 QinHeng Electronics CH340 serial converter&lt;br /&gt;
# Disable the rule in /usr/lib/udev/rules.d/85-brltty.rules &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Device: 1A86:7523&lt;br /&gt;
# Baum [NLS eReader Zoomax (20 cells)]&lt;br /&gt;
###Nr001 ENV{PRODUCT}==&amp;quot;1a86/7523/*&amp;quot;, ENV{BRLTTY_BRAILLE_DRIVER}=&amp;quot;bm&amp;quot;, GOTO=&amp;quot;brltty_usb_run&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Reboot&lt;br /&gt;
&lt;br /&gt;
* Board URL (in the preference) [https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json]&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency: 240 Mhz (Wifi/BT)&lt;br /&gt;
* Flash Mode: &amp;quot;DIO&amp;quot;&lt;br /&gt;
* Flash Size: &amp;quot;4MB (32Mb)&amp;quot;&lt;br /&gt;
Arduino Runs On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Events Run On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Programmer: &amp;quot;Esptool&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Wio Terminal ====&lt;br /&gt;
* Get Started&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/  Get Started]&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Displaying-Gyro/ Display Gyro Demo]&lt;br /&gt;
&lt;br /&gt;
* Library to load:  sketch -&amp;gt; Include Library -&amp;gt; Add .ZIP Library&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFi Seeed_Arduino_atWiFi]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_FreeRTOS Seeed_Arduino_FreeRTOS]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atUnified Seeed_Arduino_atUnified]&lt;br /&gt;
# [https://github.com/Seeed-Studio/esp-at-lib esp-at-lib esp-at-lib esp-at-lib]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_mbedtls Seeed_Arduino_mbedtls]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFiClientSecure.git Seeed_Arduino_atWiFiClientSecure.git]&lt;br /&gt;
&lt;br /&gt;
* Additional Board: File &amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs: &lt;br /&gt;
# [https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json package_seeeduino_boards_index.json] &lt;br /&gt;
# Install additional boards: Tools &amp;gt; Board &amp;gt; Board Manager and Search Wio Terminal in the Boards Manager&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
# Tools -­&amp;gt; Boards -­&amp;gt; Seeeduino Wio Terminal&lt;br /&gt;
# Cpu Frequency -­&amp;gt; 120 Mhz&lt;br /&gt;
# Upload Speed -­&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ESPHome==&lt;br /&gt;
&lt;br /&gt;
[https://esphome.io/ ESPHome]&lt;br /&gt;
&lt;br /&gt;
===ESPHome Installation===&lt;br /&gt;
====Docker option Dashboard====&lt;br /&gt;
* Get Docker Image &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull ghcr.io/esphome/esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a container and share port 6052&lt;br /&gt;
&lt;br /&gt;
====Docker option command line====&lt;br /&gt;
* Create a project&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run --rm -v &amp;quot;${PWD}&amp;quot;:/config -it ghcr.io/esphome/esphome wizard livingroom.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Local ESPHome Installation====&lt;br /&gt;
&lt;br /&gt;
* Validate Python istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
python3 -m venv venv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create pythin virtual environement&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
source venv/bin/activate&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Install ESPHome&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
pip3 install esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Validate ESPHome istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
esphome version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Upload ESPHome Bin===&lt;br /&gt;
&lt;br /&gt;
==== ESPHome Commande Line ====&lt;br /&gt;
&lt;br /&gt;
esphome run configfile.yaml&lt;br /&gt;
&lt;br /&gt;
==== ESPHome Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* Connect to ESPHome docker port 6052 hppt://localhost:6052 with Chrome !&lt;br /&gt;
* Install from web using Plug into this computer&lt;br /&gt;
&lt;br /&gt;
==TroubleShooting==&lt;br /&gt;
&lt;br /&gt;
===sync===&lt;br /&gt;
# Try to load a new project&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1313</id>
		<title>IOT</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1313"/>
		<updated>2024-05-19T17:35:41Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* ESP32 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Composant==&lt;br /&gt;
&lt;br /&gt;
==Server==&lt;br /&gt;
&lt;br /&gt;
=== MQTT server ===&lt;br /&gt;
&lt;br /&gt;
==== Mosquitto ====&lt;br /&gt;
&lt;br /&gt;
[[https://mosquitto.org/  Mosquitto ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create Password File&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -c /etc/mosquitto/passwd &amp;lt;user_name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add a new user&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -b passwordfile user password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Update configuration file to use the password file&lt;br /&gt;
&lt;br /&gt;
==== Vernemq ====&lt;br /&gt;
&lt;br /&gt;
[[https://vernemq.com VerneMq ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create or replace password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -c /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Add a user to an existing password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -a /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Delete User&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -D /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Show plugins =====&lt;br /&gt;
Show plugins &lt;br /&gt;
vmq-admin plugin show&lt;br /&gt;
&lt;br /&gt;
Enable Plugin&lt;br /&gt;
vmq-admin plugin enable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
Disable a plugin&lt;br /&gt;
vmq-admin plugin disable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
==== Blynk ====&lt;br /&gt;
&lt;br /&gt;
[[https://docs.blynk.cc Blynk ]]&lt;br /&gt;
&lt;br /&gt;
===== Access =====&lt;br /&gt;
* Your Admin url is https://yourserver:9443/admin&lt;br /&gt;
* Your Admin login email is admin@blynk.cc&lt;br /&gt;
* Your Admin password is admin&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===ESP8266===&lt;br /&gt;
[[https://www.amazon.ca/gp/product/B01M8F95QH/ref=oh_aui_detailpage_o06_s00?ie=UTF8&amp;amp;psc=1 NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes Development Board Module]]&lt;br /&gt;
&lt;br /&gt;
[[https://www.adafruit.com/product/2471 Adafruit HUZZAH ESP8266]]&lt;br /&gt;
&lt;br /&gt;
Mode 	GPIO0 	GPIO2 	GPIO15&lt;br /&gt;
* Flash (démarrage normal: exécution du programme installé en Flash) 	3.3v 	3.3v 	GND&lt;br /&gt;
* UART (upload à partir de la liaison série) 	GND 	3.3v 	GND&lt;br /&gt;
* SDIO (démarrage à partir d&#039;une carde SD) 	peu importe 	peu importe 	3.3v&lt;br /&gt;
&lt;br /&gt;
===ESP32===&lt;br /&gt;
&lt;br /&gt;
[[File:Esp-Wroom-32.png|center|alt=Esp32 Wroom Pinout]]&lt;br /&gt;
&lt;br /&gt;
[[File:Esp32-wroom-32 datasheet.pdf|alt=Esp32 Datashee]]&lt;br /&gt;
&lt;br /&gt;
==IDE Arduino==&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
==== General ====&lt;br /&gt;
&lt;br /&gt;
# File -&amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs : &lt;br /&gt;
## http://arduino.esp8266.com/stable/package_esp8266com_index.json&lt;br /&gt;
## https://dl.espressif.com/dl/package_esp32_index.json &lt;br /&gt;
## https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json&lt;br /&gt;
&lt;br /&gt;
# Tools -&amp;gt; Boards -&amp;gt; Boards Manager: &lt;br /&gt;
## Search for ESP8266&lt;br /&gt;
## Install Esp8266 by Esp8266 Community&lt;br /&gt;
&lt;br /&gt;
==== NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;WeMos D1 R2 &amp;amp; Mini&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Adafruit HUZZAH ESP8266 breakout ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== HiGrow ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;Adafruit HUZZAH ESP8266&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 921600&lt;br /&gt;
* Flasj Mode -­ DIO&lt;br /&gt;
&lt;br /&gt;
===== Huzzah Reset =====&lt;br /&gt;
&lt;br /&gt;
# Hold down the GPIO0 button, the red LED will be lit&lt;br /&gt;
# While holding down GPIO0, click the RESET button&lt;br /&gt;
# Release RESET, then release GPIO0&lt;br /&gt;
# When you release the RESET button, the red LED will be lit dimly, this means it&#039;s ready to bootload&lt;br /&gt;
&lt;br /&gt;
==== Lolin NodeMcu v3 ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;NodeMcu 1.0 (ESP-12E&amp;quot; Module)&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== ESP23 MCU 2.8 Inch Smart Display ====&lt;br /&gt;
&lt;br /&gt;
# If the port is not visible and get &amp;quot;usbfs: interface 0 claimed by ch341 while &#039;brltty&#039; sets config #1&amp;quot;&lt;br /&gt;
# Identify the vendor with lsusb -­&amp;gt; Bus 001 Device 017: ID 1a86:7523 QinHeng Electronics CH340 serial converter&lt;br /&gt;
# Disable the rule in /usr/lib/udev/rules.d/85-brltty.rules &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Device: 1A86:7523&lt;br /&gt;
# Baum [NLS eReader Zoomax (20 cells)]&lt;br /&gt;
###Nr001 ENV{PRODUCT}==&amp;quot;1a86/7523/*&amp;quot;, ENV{BRLTTY_BRAILLE_DRIVER}=&amp;quot;bm&amp;quot;, GOTO=&amp;quot;brltty_usb_run&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Reboot&lt;br /&gt;
&lt;br /&gt;
* Board URL (in the preference) [https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json]&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency: 240 Mhz (Wifi/BT)&lt;br /&gt;
* Flash Mode: &amp;quot;DIO&amp;quot;&lt;br /&gt;
* Flash Size: &amp;quot;4MB (32Mb)&amp;quot;&lt;br /&gt;
Arduino Runs On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Events Run On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Programmer: &amp;quot;Esptool&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Wio Terminal ====&lt;br /&gt;
* Get Started&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/  Get Started]&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Displaying-Gyro/ Display Gyro Demo]&lt;br /&gt;
&lt;br /&gt;
* Library to load:  sketch -&amp;gt; Include Library -&amp;gt; Add .ZIP Library&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFi Seeed_Arduino_atWiFi]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_FreeRTOS Seeed_Arduino_FreeRTOS]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atUnified Seeed_Arduino_atUnified]&lt;br /&gt;
# [https://github.com/Seeed-Studio/esp-at-lib esp-at-lib esp-at-lib esp-at-lib]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_mbedtls Seeed_Arduino_mbedtls]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFiClientSecure.git Seeed_Arduino_atWiFiClientSecure.git]&lt;br /&gt;
&lt;br /&gt;
* Additional Board: File &amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs: &lt;br /&gt;
# [https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json package_seeeduino_boards_index.json] &lt;br /&gt;
# Install additional boards: Tools &amp;gt; Board &amp;gt; Board Manager and Search Wio Terminal in the Boards Manager&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
# Tools -­&amp;gt; Boards -­&amp;gt; Seeeduino Wio Terminal&lt;br /&gt;
# Cpu Frequency -­&amp;gt; 120 Mhz&lt;br /&gt;
# Upload Speed -­&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ESPHome==&lt;br /&gt;
&lt;br /&gt;
[https://esphome.io/ ESPHome]&lt;br /&gt;
&lt;br /&gt;
===ESPHome Installation===&lt;br /&gt;
====Docker option Dashboard====&lt;br /&gt;
* Get Docker Image &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull ghcr.io/esphome/esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a container and share port 6052&lt;br /&gt;
&lt;br /&gt;
====Docker option command line====&lt;br /&gt;
* Create a project&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run --rm -v &amp;quot;${PWD}&amp;quot;:/config -it ghcr.io/esphome/esphome wizard livingroom.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Local ESPHome Installation====&lt;br /&gt;
&lt;br /&gt;
* Validate Python istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
python3 -m venv venv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create pythin virtual environement&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
source venv/bin/activate&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Install ESPHome&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
pip3 install esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Validate ESPHome istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
esphome version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Upload ESPHome Bin===&lt;br /&gt;
&lt;br /&gt;
==== ESPHome Commande Line ====&lt;br /&gt;
&lt;br /&gt;
esphome run configfile.yaml&lt;br /&gt;
&lt;br /&gt;
==== ESPHome Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* Connect to ESPHome docker port 6052 hppt://localhost:6052 with Chrome !&lt;br /&gt;
* Install from web using Plug into this computer&lt;br /&gt;
&lt;br /&gt;
==TroubleShooting==&lt;br /&gt;
&lt;br /&gt;
===sync===&lt;br /&gt;
# Try to load a new project&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=File:Esp32-wroom-32_datasheet.pdf&amp;diff=1312</id>
		<title>File:Esp32-wroom-32 datasheet.pdf</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=File:Esp32-wroom-32_datasheet.pdf&amp;diff=1312"/>
		<updated>2024-05-19T17:33:02Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1311</id>
		<title>IOT</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1311"/>
		<updated>2024-05-19T16:46:38Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* ESP32 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Composant==&lt;br /&gt;
&lt;br /&gt;
==Server==&lt;br /&gt;
&lt;br /&gt;
=== MQTT server ===&lt;br /&gt;
&lt;br /&gt;
==== Mosquitto ====&lt;br /&gt;
&lt;br /&gt;
[[https://mosquitto.org/  Mosquitto ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create Password File&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -c /etc/mosquitto/passwd &amp;lt;user_name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add a new user&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -b passwordfile user password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Update configuration file to use the password file&lt;br /&gt;
&lt;br /&gt;
==== Vernemq ====&lt;br /&gt;
&lt;br /&gt;
[[https://vernemq.com VerneMq ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create or replace password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -c /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Add a user to an existing password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -a /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Delete User&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -D /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Show plugins =====&lt;br /&gt;
Show plugins &lt;br /&gt;
vmq-admin plugin show&lt;br /&gt;
&lt;br /&gt;
Enable Plugin&lt;br /&gt;
vmq-admin plugin enable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
Disable a plugin&lt;br /&gt;
vmq-admin plugin disable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
==== Blynk ====&lt;br /&gt;
&lt;br /&gt;
[[https://docs.blynk.cc Blynk ]]&lt;br /&gt;
&lt;br /&gt;
===== Access =====&lt;br /&gt;
* Your Admin url is https://yourserver:9443/admin&lt;br /&gt;
* Your Admin login email is admin@blynk.cc&lt;br /&gt;
* Your Admin password is admin&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===ESP8266===&lt;br /&gt;
[[https://www.amazon.ca/gp/product/B01M8F95QH/ref=oh_aui_detailpage_o06_s00?ie=UTF8&amp;amp;psc=1 NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes Development Board Module]]&lt;br /&gt;
&lt;br /&gt;
[[https://www.adafruit.com/product/2471 Adafruit HUZZAH ESP8266]]&lt;br /&gt;
&lt;br /&gt;
Mode 	GPIO0 	GPIO2 	GPIO15&lt;br /&gt;
* Flash (démarrage normal: exécution du programme installé en Flash) 	3.3v 	3.3v 	GND&lt;br /&gt;
* UART (upload à partir de la liaison série) 	GND 	3.3v 	GND&lt;br /&gt;
* SDIO (démarrage à partir d&#039;une carde SD) 	peu importe 	peu importe 	3.3v&lt;br /&gt;
&lt;br /&gt;
===ESP32===&lt;br /&gt;
&lt;br /&gt;
[[File:Esp-Wroom-32.png|center|alt=Esp32 Wroom Pinout]]&lt;br /&gt;
&lt;br /&gt;
==IDE Arduino==&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
==== General ====&lt;br /&gt;
&lt;br /&gt;
# File -&amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs : &lt;br /&gt;
## http://arduino.esp8266.com/stable/package_esp8266com_index.json&lt;br /&gt;
## https://dl.espressif.com/dl/package_esp32_index.json &lt;br /&gt;
## https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json&lt;br /&gt;
&lt;br /&gt;
# Tools -&amp;gt; Boards -&amp;gt; Boards Manager: &lt;br /&gt;
## Search for ESP8266&lt;br /&gt;
## Install Esp8266 by Esp8266 Community&lt;br /&gt;
&lt;br /&gt;
==== NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;WeMos D1 R2 &amp;amp; Mini&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Adafruit HUZZAH ESP8266 breakout ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== HiGrow ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;Adafruit HUZZAH ESP8266&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 921600&lt;br /&gt;
* Flasj Mode -­ DIO&lt;br /&gt;
&lt;br /&gt;
===== Huzzah Reset =====&lt;br /&gt;
&lt;br /&gt;
# Hold down the GPIO0 button, the red LED will be lit&lt;br /&gt;
# While holding down GPIO0, click the RESET button&lt;br /&gt;
# Release RESET, then release GPIO0&lt;br /&gt;
# When you release the RESET button, the red LED will be lit dimly, this means it&#039;s ready to bootload&lt;br /&gt;
&lt;br /&gt;
==== Lolin NodeMcu v3 ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;NodeMcu 1.0 (ESP-12E&amp;quot; Module)&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== ESP23 MCU 2.8 Inch Smart Display ====&lt;br /&gt;
&lt;br /&gt;
# If the port is not visible and get &amp;quot;usbfs: interface 0 claimed by ch341 while &#039;brltty&#039; sets config #1&amp;quot;&lt;br /&gt;
# Identify the vendor with lsusb -­&amp;gt; Bus 001 Device 017: ID 1a86:7523 QinHeng Electronics CH340 serial converter&lt;br /&gt;
# Disable the rule in /usr/lib/udev/rules.d/85-brltty.rules &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Device: 1A86:7523&lt;br /&gt;
# Baum [NLS eReader Zoomax (20 cells)]&lt;br /&gt;
###Nr001 ENV{PRODUCT}==&amp;quot;1a86/7523/*&amp;quot;, ENV{BRLTTY_BRAILLE_DRIVER}=&amp;quot;bm&amp;quot;, GOTO=&amp;quot;brltty_usb_run&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Reboot&lt;br /&gt;
&lt;br /&gt;
* Board URL (in the preference) [https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json]&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency: 240 Mhz (Wifi/BT)&lt;br /&gt;
* Flash Mode: &amp;quot;DIO&amp;quot;&lt;br /&gt;
* Flash Size: &amp;quot;4MB (32Mb)&amp;quot;&lt;br /&gt;
Arduino Runs On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Events Run On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Programmer: &amp;quot;Esptool&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Wio Terminal ====&lt;br /&gt;
* Get Started&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/  Get Started]&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Displaying-Gyro/ Display Gyro Demo]&lt;br /&gt;
&lt;br /&gt;
* Library to load:  sketch -&amp;gt; Include Library -&amp;gt; Add .ZIP Library&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFi Seeed_Arduino_atWiFi]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_FreeRTOS Seeed_Arduino_FreeRTOS]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atUnified Seeed_Arduino_atUnified]&lt;br /&gt;
# [https://github.com/Seeed-Studio/esp-at-lib esp-at-lib esp-at-lib esp-at-lib]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_mbedtls Seeed_Arduino_mbedtls]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFiClientSecure.git Seeed_Arduino_atWiFiClientSecure.git]&lt;br /&gt;
&lt;br /&gt;
* Additional Board: File &amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs: &lt;br /&gt;
# [https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json package_seeeduino_boards_index.json] &lt;br /&gt;
# Install additional boards: Tools &amp;gt; Board &amp;gt; Board Manager and Search Wio Terminal in the Boards Manager&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
# Tools -­&amp;gt; Boards -­&amp;gt; Seeeduino Wio Terminal&lt;br /&gt;
# Cpu Frequency -­&amp;gt; 120 Mhz&lt;br /&gt;
# Upload Speed -­&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ESPHome==&lt;br /&gt;
&lt;br /&gt;
[https://esphome.io/ ESPHome]&lt;br /&gt;
&lt;br /&gt;
===ESPHome Installation===&lt;br /&gt;
====Docker option Dashboard====&lt;br /&gt;
* Get Docker Image &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull ghcr.io/esphome/esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a container and share port 6052&lt;br /&gt;
&lt;br /&gt;
====Docker option command line====&lt;br /&gt;
* Create a project&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run --rm -v &amp;quot;${PWD}&amp;quot;:/config -it ghcr.io/esphome/esphome wizard livingroom.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Local ESPHome Installation====&lt;br /&gt;
&lt;br /&gt;
* Validate Python istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
python3 -m venv venv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create pythin virtual environement&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
source venv/bin/activate&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Install ESPHome&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
pip3 install esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Validate ESPHome istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
esphome version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Upload ESPHome Bin===&lt;br /&gt;
&lt;br /&gt;
==== ESPHome Commande Line ====&lt;br /&gt;
&lt;br /&gt;
esphome run configfile.yaml&lt;br /&gt;
&lt;br /&gt;
==== ESPHome Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* Connect to ESPHome docker port 6052 hppt://localhost:6052 with Chrome !&lt;br /&gt;
* Install from web using Plug into this computer&lt;br /&gt;
&lt;br /&gt;
==TroubleShooting==&lt;br /&gt;
&lt;br /&gt;
===sync===&lt;br /&gt;
# Try to load a new project&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=File:Esp-Wroom-32.png&amp;diff=1310</id>
		<title>File:Esp-Wroom-32.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=File:Esp-Wroom-32.png&amp;diff=1310"/>
		<updated>2024-05-19T16:45:10Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: ESP WROOM 32 Pinout&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
ESP WROOM 32 Pinout&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1309</id>
		<title>IOT</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1309"/>
		<updated>2024-05-19T16:42:04Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* ESP32 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Composant==&lt;br /&gt;
&lt;br /&gt;
==Server==&lt;br /&gt;
&lt;br /&gt;
=== MQTT server ===&lt;br /&gt;
&lt;br /&gt;
==== Mosquitto ====&lt;br /&gt;
&lt;br /&gt;
[[https://mosquitto.org/  Mosquitto ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create Password File&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -c /etc/mosquitto/passwd &amp;lt;user_name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add a new user&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -b passwordfile user password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Update configuration file to use the password file&lt;br /&gt;
&lt;br /&gt;
==== Vernemq ====&lt;br /&gt;
&lt;br /&gt;
[[https://vernemq.com VerneMq ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create or replace password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -c /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Add a user to an existing password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -a /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Delete User&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -D /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Show plugins =====&lt;br /&gt;
Show plugins &lt;br /&gt;
vmq-admin plugin show&lt;br /&gt;
&lt;br /&gt;
Enable Plugin&lt;br /&gt;
vmq-admin plugin enable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
Disable a plugin&lt;br /&gt;
vmq-admin plugin disable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
==== Blynk ====&lt;br /&gt;
&lt;br /&gt;
[[https://docs.blynk.cc Blynk ]]&lt;br /&gt;
&lt;br /&gt;
===== Access =====&lt;br /&gt;
* Your Admin url is https://yourserver:9443/admin&lt;br /&gt;
* Your Admin login email is admin@blynk.cc&lt;br /&gt;
* Your Admin password is admin&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===ESP8266===&lt;br /&gt;
[[https://www.amazon.ca/gp/product/B01M8F95QH/ref=oh_aui_detailpage_o06_s00?ie=UTF8&amp;amp;psc=1 NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes Development Board Module]]&lt;br /&gt;
&lt;br /&gt;
[[https://www.adafruit.com/product/2471 Adafruit HUZZAH ESP8266]]&lt;br /&gt;
&lt;br /&gt;
Mode 	GPIO0 	GPIO2 	GPIO15&lt;br /&gt;
* Flash (démarrage normal: exécution du programme installé en Flash) 	3.3v 	3.3v 	GND&lt;br /&gt;
* UART (upload à partir de la liaison série) 	GND 	3.3v 	GND&lt;br /&gt;
* SDIO (démarrage à partir d&#039;une carde SD) 	peu importe 	peu importe 	3.3v&lt;br /&gt;
&lt;br /&gt;
===ESP32===&lt;br /&gt;
&lt;br /&gt;
[[File:Esp32-Mini_Wemos.png|center|alt=Esp32 Wroom Pinout]]&lt;br /&gt;
&lt;br /&gt;
==IDE Arduino==&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
==== General ====&lt;br /&gt;
&lt;br /&gt;
# File -&amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs : &lt;br /&gt;
## http://arduino.esp8266.com/stable/package_esp8266com_index.json&lt;br /&gt;
## https://dl.espressif.com/dl/package_esp32_index.json &lt;br /&gt;
## https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json&lt;br /&gt;
&lt;br /&gt;
# Tools -&amp;gt; Boards -&amp;gt; Boards Manager: &lt;br /&gt;
## Search for ESP8266&lt;br /&gt;
## Install Esp8266 by Esp8266 Community&lt;br /&gt;
&lt;br /&gt;
==== NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;WeMos D1 R2 &amp;amp; Mini&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Adafruit HUZZAH ESP8266 breakout ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== HiGrow ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;Adafruit HUZZAH ESP8266&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 921600&lt;br /&gt;
* Flasj Mode -­ DIO&lt;br /&gt;
&lt;br /&gt;
===== Huzzah Reset =====&lt;br /&gt;
&lt;br /&gt;
# Hold down the GPIO0 button, the red LED will be lit&lt;br /&gt;
# While holding down GPIO0, click the RESET button&lt;br /&gt;
# Release RESET, then release GPIO0&lt;br /&gt;
# When you release the RESET button, the red LED will be lit dimly, this means it&#039;s ready to bootload&lt;br /&gt;
&lt;br /&gt;
==== Lolin NodeMcu v3 ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;NodeMcu 1.0 (ESP-12E&amp;quot; Module)&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== ESP23 MCU 2.8 Inch Smart Display ====&lt;br /&gt;
&lt;br /&gt;
# If the port is not visible and get &amp;quot;usbfs: interface 0 claimed by ch341 while &#039;brltty&#039; sets config #1&amp;quot;&lt;br /&gt;
# Identify the vendor with lsusb -­&amp;gt; Bus 001 Device 017: ID 1a86:7523 QinHeng Electronics CH340 serial converter&lt;br /&gt;
# Disable the rule in /usr/lib/udev/rules.d/85-brltty.rules &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Device: 1A86:7523&lt;br /&gt;
# Baum [NLS eReader Zoomax (20 cells)]&lt;br /&gt;
###Nr001 ENV{PRODUCT}==&amp;quot;1a86/7523/*&amp;quot;, ENV{BRLTTY_BRAILLE_DRIVER}=&amp;quot;bm&amp;quot;, GOTO=&amp;quot;brltty_usb_run&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Reboot&lt;br /&gt;
&lt;br /&gt;
* Board URL (in the preference) [https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json]&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency: 240 Mhz (Wifi/BT)&lt;br /&gt;
* Flash Mode: &amp;quot;DIO&amp;quot;&lt;br /&gt;
* Flash Size: &amp;quot;4MB (32Mb)&amp;quot;&lt;br /&gt;
Arduino Runs On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Events Run On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Programmer: &amp;quot;Esptool&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Wio Terminal ====&lt;br /&gt;
* Get Started&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/  Get Started]&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Displaying-Gyro/ Display Gyro Demo]&lt;br /&gt;
&lt;br /&gt;
* Library to load:  sketch -&amp;gt; Include Library -&amp;gt; Add .ZIP Library&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFi Seeed_Arduino_atWiFi]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_FreeRTOS Seeed_Arduino_FreeRTOS]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atUnified Seeed_Arduino_atUnified]&lt;br /&gt;
# [https://github.com/Seeed-Studio/esp-at-lib esp-at-lib esp-at-lib esp-at-lib]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_mbedtls Seeed_Arduino_mbedtls]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFiClientSecure.git Seeed_Arduino_atWiFiClientSecure.git]&lt;br /&gt;
&lt;br /&gt;
* Additional Board: File &amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs: &lt;br /&gt;
# [https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json package_seeeduino_boards_index.json] &lt;br /&gt;
# Install additional boards: Tools &amp;gt; Board &amp;gt; Board Manager and Search Wio Terminal in the Boards Manager&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
# Tools -­&amp;gt; Boards -­&amp;gt; Seeeduino Wio Terminal&lt;br /&gt;
# Cpu Frequency -­&amp;gt; 120 Mhz&lt;br /&gt;
# Upload Speed -­&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ESPHome==&lt;br /&gt;
&lt;br /&gt;
[https://esphome.io/ ESPHome]&lt;br /&gt;
&lt;br /&gt;
===ESPHome Installation===&lt;br /&gt;
====Docker option Dashboard====&lt;br /&gt;
* Get Docker Image &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull ghcr.io/esphome/esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a container and share port 6052&lt;br /&gt;
&lt;br /&gt;
====Docker option command line====&lt;br /&gt;
* Create a project&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run --rm -v &amp;quot;${PWD}&amp;quot;:/config -it ghcr.io/esphome/esphome wizard livingroom.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Local ESPHome Installation====&lt;br /&gt;
&lt;br /&gt;
* Validate Python istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
python3 -m venv venv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create pythin virtual environement&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
source venv/bin/activate&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Install ESPHome&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
pip3 install esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Validate ESPHome istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
esphome version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Upload ESPHome Bin===&lt;br /&gt;
&lt;br /&gt;
==== ESPHome Commande Line ====&lt;br /&gt;
&lt;br /&gt;
esphome run configfile.yaml&lt;br /&gt;
&lt;br /&gt;
==== ESPHome Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* Connect to ESPHome docker port 6052 hppt://localhost:6052 with Chrome !&lt;br /&gt;
* Install from web using Plug into this computer&lt;br /&gt;
&lt;br /&gt;
==TroubleShooting==&lt;br /&gt;
&lt;br /&gt;
===sync===&lt;br /&gt;
# Try to load a new project&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1306</id>
		<title>IOT</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1306"/>
		<updated>2024-05-19T16:12:19Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Composant==&lt;br /&gt;
&lt;br /&gt;
==Server==&lt;br /&gt;
&lt;br /&gt;
=== MQTT server ===&lt;br /&gt;
&lt;br /&gt;
==== Mosquitto ====&lt;br /&gt;
&lt;br /&gt;
[[https://mosquitto.org/  Mosquitto ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create Password File&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -c /etc/mosquitto/passwd &amp;lt;user_name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add a new user&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -b passwordfile user password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Update configuration file to use the password file&lt;br /&gt;
&lt;br /&gt;
==== Vernemq ====&lt;br /&gt;
&lt;br /&gt;
[[https://vernemq.com VerneMq ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create or replace password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -c /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Add a user to an existing password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -a /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Delete User&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -D /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Show plugins =====&lt;br /&gt;
Show plugins &lt;br /&gt;
vmq-admin plugin show&lt;br /&gt;
&lt;br /&gt;
Enable Plugin&lt;br /&gt;
vmq-admin plugin enable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
Disable a plugin&lt;br /&gt;
vmq-admin plugin disable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
==== Blynk ====&lt;br /&gt;
&lt;br /&gt;
[[https://docs.blynk.cc Blynk ]]&lt;br /&gt;
&lt;br /&gt;
===== Access =====&lt;br /&gt;
* Your Admin url is https://yourserver:9443/admin&lt;br /&gt;
* Your Admin login email is admin@blynk.cc&lt;br /&gt;
* Your Admin password is admin&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===ESP8266===&lt;br /&gt;
[[https://www.amazon.ca/gp/product/B01M8F95QH/ref=oh_aui_detailpage_o06_s00?ie=UTF8&amp;amp;psc=1 NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes Development Board Module]]&lt;br /&gt;
&lt;br /&gt;
[[https://www.adafruit.com/product/2471 Adafruit HUZZAH ESP8266]]&lt;br /&gt;
&lt;br /&gt;
Mode 	GPIO0 	GPIO2 	GPIO15&lt;br /&gt;
* Flash (démarrage normal: exécution du programme installé en Flash) 	3.3v 	3.3v 	GND&lt;br /&gt;
* UART (upload à partir de la liaison série) 	GND 	3.3v 	GND&lt;br /&gt;
* SDIO (démarrage à partir d&#039;une carde SD) 	peu importe 	peu importe 	3.3v&lt;br /&gt;
&lt;br /&gt;
===ESP32===&lt;br /&gt;
&lt;br /&gt;
==IDE Arduino==&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
==== General ====&lt;br /&gt;
&lt;br /&gt;
# File -&amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs : &lt;br /&gt;
## http://arduino.esp8266.com/stable/package_esp8266com_index.json&lt;br /&gt;
## https://dl.espressif.com/dl/package_esp32_index.json &lt;br /&gt;
## https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json&lt;br /&gt;
&lt;br /&gt;
# Tools -&amp;gt; Boards -&amp;gt; Boards Manager: &lt;br /&gt;
## Search for ESP8266&lt;br /&gt;
## Install Esp8266 by Esp8266 Community&lt;br /&gt;
&lt;br /&gt;
==== NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;WeMos D1 R2 &amp;amp; Mini&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Adafruit HUZZAH ESP8266 breakout ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== HiGrow ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;Adafruit HUZZAH ESP8266&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 921600&lt;br /&gt;
* Flasj Mode -­ DIO&lt;br /&gt;
&lt;br /&gt;
===== Huzzah Reset =====&lt;br /&gt;
&lt;br /&gt;
# Hold down the GPIO0 button, the red LED will be lit&lt;br /&gt;
# While holding down GPIO0, click the RESET button&lt;br /&gt;
# Release RESET, then release GPIO0&lt;br /&gt;
# When you release the RESET button, the red LED will be lit dimly, this means it&#039;s ready to bootload&lt;br /&gt;
&lt;br /&gt;
==== Lolin NodeMcu v3 ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;NodeMcu 1.0 (ESP-12E&amp;quot; Module)&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== ESP23 MCU 2.8 Inch Smart Display ====&lt;br /&gt;
&lt;br /&gt;
# If the port is not visible and get &amp;quot;usbfs: interface 0 claimed by ch341 while &#039;brltty&#039; sets config #1&amp;quot;&lt;br /&gt;
# Identify the vendor with lsusb -­&amp;gt; Bus 001 Device 017: ID 1a86:7523 QinHeng Electronics CH340 serial converter&lt;br /&gt;
# Disable the rule in /usr/lib/udev/rules.d/85-brltty.rules &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Device: 1A86:7523&lt;br /&gt;
# Baum [NLS eReader Zoomax (20 cells)]&lt;br /&gt;
###Nr001 ENV{PRODUCT}==&amp;quot;1a86/7523/*&amp;quot;, ENV{BRLTTY_BRAILLE_DRIVER}=&amp;quot;bm&amp;quot;, GOTO=&amp;quot;brltty_usb_run&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Reboot&lt;br /&gt;
&lt;br /&gt;
* Board URL (in the preference) [https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json]&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency: 240 Mhz (Wifi/BT)&lt;br /&gt;
* Flash Mode: &amp;quot;DIO&amp;quot;&lt;br /&gt;
* Flash Size: &amp;quot;4MB (32Mb)&amp;quot;&lt;br /&gt;
Arduino Runs On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Events Run On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Programmer: &amp;quot;Esptool&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Wio Terminal ====&lt;br /&gt;
* Get Started&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/  Get Started]&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Displaying-Gyro/ Display Gyro Demo]&lt;br /&gt;
&lt;br /&gt;
* Library to load:  sketch -&amp;gt; Include Library -&amp;gt; Add .ZIP Library&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFi Seeed_Arduino_atWiFi]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_FreeRTOS Seeed_Arduino_FreeRTOS]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atUnified Seeed_Arduino_atUnified]&lt;br /&gt;
# [https://github.com/Seeed-Studio/esp-at-lib esp-at-lib esp-at-lib esp-at-lib]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_mbedtls Seeed_Arduino_mbedtls]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFiClientSecure.git Seeed_Arduino_atWiFiClientSecure.git]&lt;br /&gt;
&lt;br /&gt;
* Additional Board: File &amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs: &lt;br /&gt;
# [https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json package_seeeduino_boards_index.json] &lt;br /&gt;
# Install additional boards: Tools &amp;gt; Board &amp;gt; Board Manager and Search Wio Terminal in the Boards Manager&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
# Tools -­&amp;gt; Boards -­&amp;gt; Seeeduino Wio Terminal&lt;br /&gt;
# Cpu Frequency -­&amp;gt; 120 Mhz&lt;br /&gt;
# Upload Speed -­&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ESPHome==&lt;br /&gt;
&lt;br /&gt;
[https://esphome.io/ ESPHome]&lt;br /&gt;
&lt;br /&gt;
===ESPHome Installation===&lt;br /&gt;
====Docker option Dashboard====&lt;br /&gt;
* Get Docker Image &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull ghcr.io/esphome/esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a container and share port 6052&lt;br /&gt;
&lt;br /&gt;
====Docker option command line====&lt;br /&gt;
* Create a project&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run --rm -v &amp;quot;${PWD}&amp;quot;:/config -it ghcr.io/esphome/esphome wizard livingroom.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Local ESPHome Installation====&lt;br /&gt;
&lt;br /&gt;
* Validate Python istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
python3 -m venv venv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create pythin virtual environement&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
source venv/bin/activate&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Install ESPHome&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
pip3 install esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Validate ESPHome istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
esphome version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Upload ESPHome Bin===&lt;br /&gt;
&lt;br /&gt;
==== ESPHome Commande Line ====&lt;br /&gt;
&lt;br /&gt;
esphome run configfile.yaml&lt;br /&gt;
&lt;br /&gt;
==== ESPHome Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* Connect to ESPHome docker port 6052 hppt://localhost:6052 with Chrome !&lt;br /&gt;
* Install from web using Plug into this computer&lt;br /&gt;
&lt;br /&gt;
==TroubleShooting==&lt;br /&gt;
&lt;br /&gt;
===sync===&lt;br /&gt;
# Try to load a new project&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1305</id>
		<title>IOT</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1305"/>
		<updated>2024-05-11T18:59:01Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* Upload ESPHome Bin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Composant==&lt;br /&gt;
&lt;br /&gt;
==Server==&lt;br /&gt;
&lt;br /&gt;
=== MQTT server ===&lt;br /&gt;
&lt;br /&gt;
==== Mosquitto ====&lt;br /&gt;
&lt;br /&gt;
[[https://mosquitto.org/  Mosquitto ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create Password File&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -c /etc/mosquitto/passwd &amp;lt;user_name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add a new user&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -b passwordfile user password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Update configuration file to use the password file&lt;br /&gt;
&lt;br /&gt;
==== Vernemq ====&lt;br /&gt;
&lt;br /&gt;
[[https://vernemq.com VerneMq ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create or replace password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -c /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Add a user to an existing password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -a /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Delete User&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -D /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Show plugins =====&lt;br /&gt;
Show plugins &lt;br /&gt;
vmq-admin plugin show&lt;br /&gt;
&lt;br /&gt;
Enable Plugin&lt;br /&gt;
vmq-admin plugin enable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
Disable a plugin&lt;br /&gt;
vmq-admin plugin disable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
==== Blynk ====&lt;br /&gt;
&lt;br /&gt;
[[https://docs.blynk.cc Blynk ]]&lt;br /&gt;
&lt;br /&gt;
===== Access =====&lt;br /&gt;
* Your Admin url is https://yourserver:9443/admin&lt;br /&gt;
* Your Admin login email is admin@blynk.cc&lt;br /&gt;
* Your Admin password is admin&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
[[https://www.amazon.ca/gp/product/B01M8F95QH/ref=oh_aui_detailpage_o06_s00?ie=UTF8&amp;amp;psc=1 NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes Development Board Module]]&lt;br /&gt;
&lt;br /&gt;
[[https://www.adafruit.com/product/2471 Adafruit HUZZAH ESP8266]]&lt;br /&gt;
&lt;br /&gt;
Mode 	GPIO0 	GPIO2 	GPIO15&lt;br /&gt;
* Flash (démarrage normal: exécution du programme installé en Flash) 	3.3v 	3.3v 	GND&lt;br /&gt;
* UART (upload à partir de la liaison série) 	GND 	3.3v 	GND&lt;br /&gt;
* SDIO (démarrage à partir d&#039;une carde SD) 	peu importe 	peu importe 	3.3v&lt;br /&gt;
&lt;br /&gt;
==IDE Arduino==&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
==== General ====&lt;br /&gt;
&lt;br /&gt;
# File -&amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs : &lt;br /&gt;
## http://arduino.esp8266.com/stable/package_esp8266com_index.json&lt;br /&gt;
## https://dl.espressif.com/dl/package_esp32_index.json &lt;br /&gt;
## https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json&lt;br /&gt;
&lt;br /&gt;
# Tools -&amp;gt; Boards -&amp;gt; Boards Manager: &lt;br /&gt;
## Search for ESP8266&lt;br /&gt;
## Install Esp8266 by Esp8266 Community&lt;br /&gt;
&lt;br /&gt;
==== NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;WeMos D1 R2 &amp;amp; Mini&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Adafruit HUZZAH ESP8266 breakout ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== HiGrow ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;Adafruit HUZZAH ESP8266&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 921600&lt;br /&gt;
* Flasj Mode -­ DIO&lt;br /&gt;
&lt;br /&gt;
===== Huzzah Reset =====&lt;br /&gt;
&lt;br /&gt;
# Hold down the GPIO0 button, the red LED will be lit&lt;br /&gt;
# While holding down GPIO0, click the RESET button&lt;br /&gt;
# Release RESET, then release GPIO0&lt;br /&gt;
# When you release the RESET button, the red LED will be lit dimly, this means it&#039;s ready to bootload&lt;br /&gt;
&lt;br /&gt;
==== Lolin NodeMcu v3 ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;NodeMcu 1.0 (ESP-12E&amp;quot; Module)&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== ESP23 MCU 2.8 Inch Smart Display ====&lt;br /&gt;
&lt;br /&gt;
# If the port is not visible and get &amp;quot;usbfs: interface 0 claimed by ch341 while &#039;brltty&#039; sets config #1&amp;quot;&lt;br /&gt;
# Identify the vendor with lsusb -­&amp;gt; Bus 001 Device 017: ID 1a86:7523 QinHeng Electronics CH340 serial converter&lt;br /&gt;
# Disable the rule in /usr/lib/udev/rules.d/85-brltty.rules &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Device: 1A86:7523&lt;br /&gt;
# Baum [NLS eReader Zoomax (20 cells)]&lt;br /&gt;
###Nr001 ENV{PRODUCT}==&amp;quot;1a86/7523/*&amp;quot;, ENV{BRLTTY_BRAILLE_DRIVER}=&amp;quot;bm&amp;quot;, GOTO=&amp;quot;brltty_usb_run&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Reboot&lt;br /&gt;
&lt;br /&gt;
* Board URL (in the preference) [https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json]&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency: 240 Mhz (Wifi/BT)&lt;br /&gt;
* Flash Mode: &amp;quot;DIO&amp;quot;&lt;br /&gt;
* Flash Size: &amp;quot;4MB (32Mb)&amp;quot;&lt;br /&gt;
Arduino Runs On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Events Run On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Programmer: &amp;quot;Esptool&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Wio Terminal ====&lt;br /&gt;
* Get Started&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/  Get Started]&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Displaying-Gyro/ Display Gyro Demo]&lt;br /&gt;
&lt;br /&gt;
* Library to load:  sketch -&amp;gt; Include Library -&amp;gt; Add .ZIP Library&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFi Seeed_Arduino_atWiFi]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_FreeRTOS Seeed_Arduino_FreeRTOS]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atUnified Seeed_Arduino_atUnified]&lt;br /&gt;
# [https://github.com/Seeed-Studio/esp-at-lib esp-at-lib esp-at-lib esp-at-lib]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_mbedtls Seeed_Arduino_mbedtls]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFiClientSecure.git Seeed_Arduino_atWiFiClientSecure.git]&lt;br /&gt;
&lt;br /&gt;
* Additional Board: File &amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs: &lt;br /&gt;
# [https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json package_seeeduino_boards_index.json] &lt;br /&gt;
# Install additional boards: Tools &amp;gt; Board &amp;gt; Board Manager and Search Wio Terminal in the Boards Manager&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
# Tools -­&amp;gt; Boards -­&amp;gt; Seeeduino Wio Terminal&lt;br /&gt;
# Cpu Frequency -­&amp;gt; 120 Mhz&lt;br /&gt;
# Upload Speed -­&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ESPHome==&lt;br /&gt;
&lt;br /&gt;
[https://esphome.io/ ESPHome]&lt;br /&gt;
&lt;br /&gt;
===ESPHome Installation===&lt;br /&gt;
====Docker option Dashboard====&lt;br /&gt;
* Get Docker Image &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull ghcr.io/esphome/esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a container and share port 6052&lt;br /&gt;
&lt;br /&gt;
====Docker option command line====&lt;br /&gt;
* Create a project&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run --rm -v &amp;quot;${PWD}&amp;quot;:/config -it ghcr.io/esphome/esphome wizard livingroom.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Local ESPHome Installation====&lt;br /&gt;
&lt;br /&gt;
* Validate Python istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
python3 -m venv venv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create pythin virtual environement&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
source venv/bin/activate&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Install ESPHome&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
pip3 install esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Validate ESPHome istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
esphome version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Upload ESPHome Bin===&lt;br /&gt;
&lt;br /&gt;
==== ESPHome Commande Line ====&lt;br /&gt;
&lt;br /&gt;
esphome run configfile.yaml&lt;br /&gt;
&lt;br /&gt;
==== ESPHome Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* Connect to ESPHome docker port 6052 hppt://localhost:6052 with Chrome !&lt;br /&gt;
* Install from web using Plug into this computer&lt;br /&gt;
&lt;br /&gt;
==TroubleShooting==&lt;br /&gt;
&lt;br /&gt;
===sync===&lt;br /&gt;
# Try to load a new project&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1304</id>
		<title>IOT</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1304"/>
		<updated>2024-05-11T18:47:39Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* ESPHome */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Composant==&lt;br /&gt;
&lt;br /&gt;
==Server==&lt;br /&gt;
&lt;br /&gt;
=== MQTT server ===&lt;br /&gt;
&lt;br /&gt;
==== Mosquitto ====&lt;br /&gt;
&lt;br /&gt;
[[https://mosquitto.org/  Mosquitto ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create Password File&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -c /etc/mosquitto/passwd &amp;lt;user_name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add a new user&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -b passwordfile user password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Update configuration file to use the password file&lt;br /&gt;
&lt;br /&gt;
==== Vernemq ====&lt;br /&gt;
&lt;br /&gt;
[[https://vernemq.com VerneMq ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create or replace password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -c /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Add a user to an existing password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -a /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Delete User&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -D /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Show plugins =====&lt;br /&gt;
Show plugins &lt;br /&gt;
vmq-admin plugin show&lt;br /&gt;
&lt;br /&gt;
Enable Plugin&lt;br /&gt;
vmq-admin plugin enable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
Disable a plugin&lt;br /&gt;
vmq-admin plugin disable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
==== Blynk ====&lt;br /&gt;
&lt;br /&gt;
[[https://docs.blynk.cc Blynk ]]&lt;br /&gt;
&lt;br /&gt;
===== Access =====&lt;br /&gt;
* Your Admin url is https://yourserver:9443/admin&lt;br /&gt;
* Your Admin login email is admin@blynk.cc&lt;br /&gt;
* Your Admin password is admin&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
[[https://www.amazon.ca/gp/product/B01M8F95QH/ref=oh_aui_detailpage_o06_s00?ie=UTF8&amp;amp;psc=1 NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes Development Board Module]]&lt;br /&gt;
&lt;br /&gt;
[[https://www.adafruit.com/product/2471 Adafruit HUZZAH ESP8266]]&lt;br /&gt;
&lt;br /&gt;
Mode 	GPIO0 	GPIO2 	GPIO15&lt;br /&gt;
* Flash (démarrage normal: exécution du programme installé en Flash) 	3.3v 	3.3v 	GND&lt;br /&gt;
* UART (upload à partir de la liaison série) 	GND 	3.3v 	GND&lt;br /&gt;
* SDIO (démarrage à partir d&#039;une carde SD) 	peu importe 	peu importe 	3.3v&lt;br /&gt;
&lt;br /&gt;
==IDE Arduino==&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
==== General ====&lt;br /&gt;
&lt;br /&gt;
# File -&amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs : &lt;br /&gt;
## http://arduino.esp8266.com/stable/package_esp8266com_index.json&lt;br /&gt;
## https://dl.espressif.com/dl/package_esp32_index.json &lt;br /&gt;
## https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json&lt;br /&gt;
&lt;br /&gt;
# Tools -&amp;gt; Boards -&amp;gt; Boards Manager: &lt;br /&gt;
## Search for ESP8266&lt;br /&gt;
## Install Esp8266 by Esp8266 Community&lt;br /&gt;
&lt;br /&gt;
==== NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;WeMos D1 R2 &amp;amp; Mini&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Adafruit HUZZAH ESP8266 breakout ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== HiGrow ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;Adafruit HUZZAH ESP8266&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 921600&lt;br /&gt;
* Flasj Mode -­ DIO&lt;br /&gt;
&lt;br /&gt;
===== Huzzah Reset =====&lt;br /&gt;
&lt;br /&gt;
# Hold down the GPIO0 button, the red LED will be lit&lt;br /&gt;
# While holding down GPIO0, click the RESET button&lt;br /&gt;
# Release RESET, then release GPIO0&lt;br /&gt;
# When you release the RESET button, the red LED will be lit dimly, this means it&#039;s ready to bootload&lt;br /&gt;
&lt;br /&gt;
==== Lolin NodeMcu v3 ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;NodeMcu 1.0 (ESP-12E&amp;quot; Module)&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== ESP23 MCU 2.8 Inch Smart Display ====&lt;br /&gt;
&lt;br /&gt;
# If the port is not visible and get &amp;quot;usbfs: interface 0 claimed by ch341 while &#039;brltty&#039; sets config #1&amp;quot;&lt;br /&gt;
# Identify the vendor with lsusb -­&amp;gt; Bus 001 Device 017: ID 1a86:7523 QinHeng Electronics CH340 serial converter&lt;br /&gt;
# Disable the rule in /usr/lib/udev/rules.d/85-brltty.rules &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Device: 1A86:7523&lt;br /&gt;
# Baum [NLS eReader Zoomax (20 cells)]&lt;br /&gt;
###Nr001 ENV{PRODUCT}==&amp;quot;1a86/7523/*&amp;quot;, ENV{BRLTTY_BRAILLE_DRIVER}=&amp;quot;bm&amp;quot;, GOTO=&amp;quot;brltty_usb_run&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Reboot&lt;br /&gt;
&lt;br /&gt;
* Board URL (in the preference) [https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json]&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency: 240 Mhz (Wifi/BT)&lt;br /&gt;
* Flash Mode: &amp;quot;DIO&amp;quot;&lt;br /&gt;
* Flash Size: &amp;quot;4MB (32Mb)&amp;quot;&lt;br /&gt;
Arduino Runs On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Events Run On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Programmer: &amp;quot;Esptool&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Wio Terminal ====&lt;br /&gt;
* Get Started&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/  Get Started]&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Displaying-Gyro/ Display Gyro Demo]&lt;br /&gt;
&lt;br /&gt;
* Library to load:  sketch -&amp;gt; Include Library -&amp;gt; Add .ZIP Library&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFi Seeed_Arduino_atWiFi]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_FreeRTOS Seeed_Arduino_FreeRTOS]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atUnified Seeed_Arduino_atUnified]&lt;br /&gt;
# [https://github.com/Seeed-Studio/esp-at-lib esp-at-lib esp-at-lib esp-at-lib]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_mbedtls Seeed_Arduino_mbedtls]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFiClientSecure.git Seeed_Arduino_atWiFiClientSecure.git]&lt;br /&gt;
&lt;br /&gt;
* Additional Board: File &amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs: &lt;br /&gt;
# [https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json package_seeeduino_boards_index.json] &lt;br /&gt;
# Install additional boards: Tools &amp;gt; Board &amp;gt; Board Manager and Search Wio Terminal in the Boards Manager&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
# Tools -­&amp;gt; Boards -­&amp;gt; Seeeduino Wio Terminal&lt;br /&gt;
# Cpu Frequency -­&amp;gt; 120 Mhz&lt;br /&gt;
# Upload Speed -­&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ESPHome==&lt;br /&gt;
&lt;br /&gt;
[https://esphome.io/ ESPHome]&lt;br /&gt;
&lt;br /&gt;
===ESPHome Installation===&lt;br /&gt;
====Docker option Dashboard====&lt;br /&gt;
* Get Docker Image &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull ghcr.io/esphome/esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a container and share port 6052&lt;br /&gt;
&lt;br /&gt;
====Docker option command line====&lt;br /&gt;
* Create a project&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run --rm -v &amp;quot;${PWD}&amp;quot;:/config -it ghcr.io/esphome/esphome wizard livingroom.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Local ESPHome Installation====&lt;br /&gt;
&lt;br /&gt;
* Validate Python istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
python3 -m venv venv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create pythin virtual environement&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
source venv/bin/activate&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Install ESPHome&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
pip3 install esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Validate ESPHome istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
esphome version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Upload ESPHome Bin===&lt;br /&gt;
&lt;br /&gt;
==TroubleShooting==&lt;br /&gt;
&lt;br /&gt;
===sync===&lt;br /&gt;
# Try to load a new project&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1303</id>
		<title>IOT</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1303"/>
		<updated>2024-05-11T18:44:35Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* ESPHome */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Composant==&lt;br /&gt;
&lt;br /&gt;
==Server==&lt;br /&gt;
&lt;br /&gt;
=== MQTT server ===&lt;br /&gt;
&lt;br /&gt;
==== Mosquitto ====&lt;br /&gt;
&lt;br /&gt;
[[https://mosquitto.org/  Mosquitto ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create Password File&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -c /etc/mosquitto/passwd &amp;lt;user_name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add a new user&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -b passwordfile user password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Update configuration file to use the password file&lt;br /&gt;
&lt;br /&gt;
==== Vernemq ====&lt;br /&gt;
&lt;br /&gt;
[[https://vernemq.com VerneMq ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create or replace password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -c /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Add a user to an existing password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -a /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Delete User&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -D /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Show plugins =====&lt;br /&gt;
Show plugins &lt;br /&gt;
vmq-admin plugin show&lt;br /&gt;
&lt;br /&gt;
Enable Plugin&lt;br /&gt;
vmq-admin plugin enable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
Disable a plugin&lt;br /&gt;
vmq-admin plugin disable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
==== Blynk ====&lt;br /&gt;
&lt;br /&gt;
[[https://docs.blynk.cc Blynk ]]&lt;br /&gt;
&lt;br /&gt;
===== Access =====&lt;br /&gt;
* Your Admin url is https://yourserver:9443/admin&lt;br /&gt;
* Your Admin login email is admin@blynk.cc&lt;br /&gt;
* Your Admin password is admin&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
[[https://www.amazon.ca/gp/product/B01M8F95QH/ref=oh_aui_detailpage_o06_s00?ie=UTF8&amp;amp;psc=1 NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes Development Board Module]]&lt;br /&gt;
&lt;br /&gt;
[[https://www.adafruit.com/product/2471 Adafruit HUZZAH ESP8266]]&lt;br /&gt;
&lt;br /&gt;
Mode 	GPIO0 	GPIO2 	GPIO15&lt;br /&gt;
* Flash (démarrage normal: exécution du programme installé en Flash) 	3.3v 	3.3v 	GND&lt;br /&gt;
* UART (upload à partir de la liaison série) 	GND 	3.3v 	GND&lt;br /&gt;
* SDIO (démarrage à partir d&#039;une carde SD) 	peu importe 	peu importe 	3.3v&lt;br /&gt;
&lt;br /&gt;
==IDE Arduino==&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
==== General ====&lt;br /&gt;
&lt;br /&gt;
# File -&amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs : &lt;br /&gt;
## http://arduino.esp8266.com/stable/package_esp8266com_index.json&lt;br /&gt;
## https://dl.espressif.com/dl/package_esp32_index.json &lt;br /&gt;
## https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json&lt;br /&gt;
&lt;br /&gt;
# Tools -&amp;gt; Boards -&amp;gt; Boards Manager: &lt;br /&gt;
## Search for ESP8266&lt;br /&gt;
## Install Esp8266 by Esp8266 Community&lt;br /&gt;
&lt;br /&gt;
==== NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;WeMos D1 R2 &amp;amp; Mini&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Adafruit HUZZAH ESP8266 breakout ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== HiGrow ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;Adafruit HUZZAH ESP8266&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 921600&lt;br /&gt;
* Flasj Mode -­ DIO&lt;br /&gt;
&lt;br /&gt;
===== Huzzah Reset =====&lt;br /&gt;
&lt;br /&gt;
# Hold down the GPIO0 button, the red LED will be lit&lt;br /&gt;
# While holding down GPIO0, click the RESET button&lt;br /&gt;
# Release RESET, then release GPIO0&lt;br /&gt;
# When you release the RESET button, the red LED will be lit dimly, this means it&#039;s ready to bootload&lt;br /&gt;
&lt;br /&gt;
==== Lolin NodeMcu v3 ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;NodeMcu 1.0 (ESP-12E&amp;quot; Module)&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== ESP23 MCU 2.8 Inch Smart Display ====&lt;br /&gt;
&lt;br /&gt;
# If the port is not visible and get &amp;quot;usbfs: interface 0 claimed by ch341 while &#039;brltty&#039; sets config #1&amp;quot;&lt;br /&gt;
# Identify the vendor with lsusb -­&amp;gt; Bus 001 Device 017: ID 1a86:7523 QinHeng Electronics CH340 serial converter&lt;br /&gt;
# Disable the rule in /usr/lib/udev/rules.d/85-brltty.rules &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Device: 1A86:7523&lt;br /&gt;
# Baum [NLS eReader Zoomax (20 cells)]&lt;br /&gt;
###Nr001 ENV{PRODUCT}==&amp;quot;1a86/7523/*&amp;quot;, ENV{BRLTTY_BRAILLE_DRIVER}=&amp;quot;bm&amp;quot;, GOTO=&amp;quot;brltty_usb_run&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Reboot&lt;br /&gt;
&lt;br /&gt;
* Board URL (in the preference) [https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json]&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency: 240 Mhz (Wifi/BT)&lt;br /&gt;
* Flash Mode: &amp;quot;DIO&amp;quot;&lt;br /&gt;
* Flash Size: &amp;quot;4MB (32Mb)&amp;quot;&lt;br /&gt;
Arduino Runs On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Events Run On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Programmer: &amp;quot;Esptool&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Wio Terminal ====&lt;br /&gt;
* Get Started&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/  Get Started]&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Displaying-Gyro/ Display Gyro Demo]&lt;br /&gt;
&lt;br /&gt;
* Library to load:  sketch -&amp;gt; Include Library -&amp;gt; Add .ZIP Library&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFi Seeed_Arduino_atWiFi]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_FreeRTOS Seeed_Arduino_FreeRTOS]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atUnified Seeed_Arduino_atUnified]&lt;br /&gt;
# [https://github.com/Seeed-Studio/esp-at-lib esp-at-lib esp-at-lib esp-at-lib]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_mbedtls Seeed_Arduino_mbedtls]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFiClientSecure.git Seeed_Arduino_atWiFiClientSecure.git]&lt;br /&gt;
&lt;br /&gt;
* Additional Board: File &amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs: &lt;br /&gt;
# [https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json package_seeeduino_boards_index.json] &lt;br /&gt;
# Install additional boards: Tools &amp;gt; Board &amp;gt; Board Manager and Search Wio Terminal in the Boards Manager&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
# Tools -­&amp;gt; Boards -­&amp;gt; Seeeduino Wio Terminal&lt;br /&gt;
# Cpu Frequency -­&amp;gt; 120 Mhz&lt;br /&gt;
# Upload Speed -­&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ESPHome==&lt;br /&gt;
&lt;br /&gt;
[https://esphome.io/ ESPHome]&lt;br /&gt;
&lt;br /&gt;
-- Docker option Dashboard&lt;br /&gt;
* Get Docker Image &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull ghcr.io/esphome/esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a container and share port 6052&lt;br /&gt;
&lt;br /&gt;
-- Docker option command line&lt;br /&gt;
* Create a project&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run --rm -v &amp;quot;${PWD}&amp;quot;:/config -it ghcr.io/esphome/esphome wizard livingroom.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- Install ESPHome localy&lt;br /&gt;
&lt;br /&gt;
* Validate Python istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
python3 -m venv venv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create pythin virtual environement&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
source venv/bin/activate&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Install ESPHome&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
pip3 install esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Validate ESPHome istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
esphome version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TroubleShooting==&lt;br /&gt;
&lt;br /&gt;
===sync===&lt;br /&gt;
# Try to load a new project&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1302</id>
		<title>IOT</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1302"/>
		<updated>2024-05-11T18:40:22Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* ESPHome */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Composant==&lt;br /&gt;
&lt;br /&gt;
==Server==&lt;br /&gt;
&lt;br /&gt;
=== MQTT server ===&lt;br /&gt;
&lt;br /&gt;
==== Mosquitto ====&lt;br /&gt;
&lt;br /&gt;
[[https://mosquitto.org/  Mosquitto ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create Password File&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -c /etc/mosquitto/passwd &amp;lt;user_name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add a new user&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -b passwordfile user password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Update configuration file to use the password file&lt;br /&gt;
&lt;br /&gt;
==== Vernemq ====&lt;br /&gt;
&lt;br /&gt;
[[https://vernemq.com VerneMq ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create or replace password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -c /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Add a user to an existing password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -a /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Delete User&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -D /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Show plugins =====&lt;br /&gt;
Show plugins &lt;br /&gt;
vmq-admin plugin show&lt;br /&gt;
&lt;br /&gt;
Enable Plugin&lt;br /&gt;
vmq-admin plugin enable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
Disable a plugin&lt;br /&gt;
vmq-admin plugin disable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
==== Blynk ====&lt;br /&gt;
&lt;br /&gt;
[[https://docs.blynk.cc Blynk ]]&lt;br /&gt;
&lt;br /&gt;
===== Access =====&lt;br /&gt;
* Your Admin url is https://yourserver:9443/admin&lt;br /&gt;
* Your Admin login email is admin@blynk.cc&lt;br /&gt;
* Your Admin password is admin&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
[[https://www.amazon.ca/gp/product/B01M8F95QH/ref=oh_aui_detailpage_o06_s00?ie=UTF8&amp;amp;psc=1 NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes Development Board Module]]&lt;br /&gt;
&lt;br /&gt;
[[https://www.adafruit.com/product/2471 Adafruit HUZZAH ESP8266]]&lt;br /&gt;
&lt;br /&gt;
Mode 	GPIO0 	GPIO2 	GPIO15&lt;br /&gt;
* Flash (démarrage normal: exécution du programme installé en Flash) 	3.3v 	3.3v 	GND&lt;br /&gt;
* UART (upload à partir de la liaison série) 	GND 	3.3v 	GND&lt;br /&gt;
* SDIO (démarrage à partir d&#039;une carde SD) 	peu importe 	peu importe 	3.3v&lt;br /&gt;
&lt;br /&gt;
==IDE Arduino==&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
==== General ====&lt;br /&gt;
&lt;br /&gt;
# File -&amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs : &lt;br /&gt;
## http://arduino.esp8266.com/stable/package_esp8266com_index.json&lt;br /&gt;
## https://dl.espressif.com/dl/package_esp32_index.json &lt;br /&gt;
## https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json&lt;br /&gt;
&lt;br /&gt;
# Tools -&amp;gt; Boards -&amp;gt; Boards Manager: &lt;br /&gt;
## Search for ESP8266&lt;br /&gt;
## Install Esp8266 by Esp8266 Community&lt;br /&gt;
&lt;br /&gt;
==== NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;WeMos D1 R2 &amp;amp; Mini&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Adafruit HUZZAH ESP8266 breakout ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== HiGrow ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;Adafruit HUZZAH ESP8266&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 921600&lt;br /&gt;
* Flasj Mode -­ DIO&lt;br /&gt;
&lt;br /&gt;
===== Huzzah Reset =====&lt;br /&gt;
&lt;br /&gt;
# Hold down the GPIO0 button, the red LED will be lit&lt;br /&gt;
# While holding down GPIO0, click the RESET button&lt;br /&gt;
# Release RESET, then release GPIO0&lt;br /&gt;
# When you release the RESET button, the red LED will be lit dimly, this means it&#039;s ready to bootload&lt;br /&gt;
&lt;br /&gt;
==== Lolin NodeMcu v3 ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;NodeMcu 1.0 (ESP-12E&amp;quot; Module)&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== ESP23 MCU 2.8 Inch Smart Display ====&lt;br /&gt;
&lt;br /&gt;
# If the port is not visible and get &amp;quot;usbfs: interface 0 claimed by ch341 while &#039;brltty&#039; sets config #1&amp;quot;&lt;br /&gt;
# Identify the vendor with lsusb -­&amp;gt; Bus 001 Device 017: ID 1a86:7523 QinHeng Electronics CH340 serial converter&lt;br /&gt;
# Disable the rule in /usr/lib/udev/rules.d/85-brltty.rules &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Device: 1A86:7523&lt;br /&gt;
# Baum [NLS eReader Zoomax (20 cells)]&lt;br /&gt;
###Nr001 ENV{PRODUCT}==&amp;quot;1a86/7523/*&amp;quot;, ENV{BRLTTY_BRAILLE_DRIVER}=&amp;quot;bm&amp;quot;, GOTO=&amp;quot;brltty_usb_run&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Reboot&lt;br /&gt;
&lt;br /&gt;
* Board URL (in the preference) [https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json]&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency: 240 Mhz (Wifi/BT)&lt;br /&gt;
* Flash Mode: &amp;quot;DIO&amp;quot;&lt;br /&gt;
* Flash Size: &amp;quot;4MB (32Mb)&amp;quot;&lt;br /&gt;
Arduino Runs On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Events Run On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Programmer: &amp;quot;Esptool&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Wio Terminal ====&lt;br /&gt;
* Get Started&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/  Get Started]&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Displaying-Gyro/ Display Gyro Demo]&lt;br /&gt;
&lt;br /&gt;
* Library to load:  sketch -&amp;gt; Include Library -&amp;gt; Add .ZIP Library&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFi Seeed_Arduino_atWiFi]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_FreeRTOS Seeed_Arduino_FreeRTOS]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atUnified Seeed_Arduino_atUnified]&lt;br /&gt;
# [https://github.com/Seeed-Studio/esp-at-lib esp-at-lib esp-at-lib esp-at-lib]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_mbedtls Seeed_Arduino_mbedtls]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFiClientSecure.git Seeed_Arduino_atWiFiClientSecure.git]&lt;br /&gt;
&lt;br /&gt;
* Additional Board: File &amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs: &lt;br /&gt;
# [https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json package_seeeduino_boards_index.json] &lt;br /&gt;
# Install additional boards: Tools &amp;gt; Board &amp;gt; Board Manager and Search Wio Terminal in the Boards Manager&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
# Tools -­&amp;gt; Boards -­&amp;gt; Seeeduino Wio Terminal&lt;br /&gt;
# Cpu Frequency -­&amp;gt; 120 Mhz&lt;br /&gt;
# Upload Speed -­&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ESPHome==&lt;br /&gt;
&lt;br /&gt;
[https://esphome.io/ ESPHome]&lt;br /&gt;
&lt;br /&gt;
-- Docker option Dashboard&lt;br /&gt;
* Get Docker Image &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull ghcr.io/esphome/esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a container and share port 6052&lt;br /&gt;
&lt;br /&gt;
-- Docker option command line&lt;br /&gt;
* Create a project&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run --rm -v &amp;quot;${PWD}&amp;quot;:/config -it ghcr.io/esphome/esphome wizard livingroom.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- Install ESPHome localy&lt;br /&gt;
&lt;br /&gt;
* Validate Pithon istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
python3 -m venv venv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TroubleShooting==&lt;br /&gt;
&lt;br /&gt;
===sync===&lt;br /&gt;
# Try to load a new project&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1301</id>
		<title>IOT</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1301"/>
		<updated>2024-05-11T18:39:12Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* ESPHome */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Composant==&lt;br /&gt;
&lt;br /&gt;
==Server==&lt;br /&gt;
&lt;br /&gt;
=== MQTT server ===&lt;br /&gt;
&lt;br /&gt;
==== Mosquitto ====&lt;br /&gt;
&lt;br /&gt;
[[https://mosquitto.org/  Mosquitto ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create Password File&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -c /etc/mosquitto/passwd &amp;lt;user_name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add a new user&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -b passwordfile user password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Update configuration file to use the password file&lt;br /&gt;
&lt;br /&gt;
==== Vernemq ====&lt;br /&gt;
&lt;br /&gt;
[[https://vernemq.com VerneMq ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create or replace password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -c /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Add a user to an existing password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -a /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Delete User&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -D /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Show plugins =====&lt;br /&gt;
Show plugins &lt;br /&gt;
vmq-admin plugin show&lt;br /&gt;
&lt;br /&gt;
Enable Plugin&lt;br /&gt;
vmq-admin plugin enable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
Disable a plugin&lt;br /&gt;
vmq-admin plugin disable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
==== Blynk ====&lt;br /&gt;
&lt;br /&gt;
[[https://docs.blynk.cc Blynk ]]&lt;br /&gt;
&lt;br /&gt;
===== Access =====&lt;br /&gt;
* Your Admin url is https://yourserver:9443/admin&lt;br /&gt;
* Your Admin login email is admin@blynk.cc&lt;br /&gt;
* Your Admin password is admin&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
[[https://www.amazon.ca/gp/product/B01M8F95QH/ref=oh_aui_detailpage_o06_s00?ie=UTF8&amp;amp;psc=1 NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes Development Board Module]]&lt;br /&gt;
&lt;br /&gt;
[[https://www.adafruit.com/product/2471 Adafruit HUZZAH ESP8266]]&lt;br /&gt;
&lt;br /&gt;
Mode 	GPIO0 	GPIO2 	GPIO15&lt;br /&gt;
* Flash (démarrage normal: exécution du programme installé en Flash) 	3.3v 	3.3v 	GND&lt;br /&gt;
* UART (upload à partir de la liaison série) 	GND 	3.3v 	GND&lt;br /&gt;
* SDIO (démarrage à partir d&#039;une carde SD) 	peu importe 	peu importe 	3.3v&lt;br /&gt;
&lt;br /&gt;
==IDE Arduino==&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
==== General ====&lt;br /&gt;
&lt;br /&gt;
# File -&amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs : &lt;br /&gt;
## http://arduino.esp8266.com/stable/package_esp8266com_index.json&lt;br /&gt;
## https://dl.espressif.com/dl/package_esp32_index.json &lt;br /&gt;
## https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json&lt;br /&gt;
&lt;br /&gt;
# Tools -&amp;gt; Boards -&amp;gt; Boards Manager: &lt;br /&gt;
## Search for ESP8266&lt;br /&gt;
## Install Esp8266 by Esp8266 Community&lt;br /&gt;
&lt;br /&gt;
==== NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;WeMos D1 R2 &amp;amp; Mini&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Adafruit HUZZAH ESP8266 breakout ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== HiGrow ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;Adafruit HUZZAH ESP8266&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 921600&lt;br /&gt;
* Flasj Mode -­ DIO&lt;br /&gt;
&lt;br /&gt;
===== Huzzah Reset =====&lt;br /&gt;
&lt;br /&gt;
# Hold down the GPIO0 button, the red LED will be lit&lt;br /&gt;
# While holding down GPIO0, click the RESET button&lt;br /&gt;
# Release RESET, then release GPIO0&lt;br /&gt;
# When you release the RESET button, the red LED will be lit dimly, this means it&#039;s ready to bootload&lt;br /&gt;
&lt;br /&gt;
==== Lolin NodeMcu v3 ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;NodeMcu 1.0 (ESP-12E&amp;quot; Module)&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== ESP23 MCU 2.8 Inch Smart Display ====&lt;br /&gt;
&lt;br /&gt;
# If the port is not visible and get &amp;quot;usbfs: interface 0 claimed by ch341 while &#039;brltty&#039; sets config #1&amp;quot;&lt;br /&gt;
# Identify the vendor with lsusb -­&amp;gt; Bus 001 Device 017: ID 1a86:7523 QinHeng Electronics CH340 serial converter&lt;br /&gt;
# Disable the rule in /usr/lib/udev/rules.d/85-brltty.rules &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Device: 1A86:7523&lt;br /&gt;
# Baum [NLS eReader Zoomax (20 cells)]&lt;br /&gt;
###Nr001 ENV{PRODUCT}==&amp;quot;1a86/7523/*&amp;quot;, ENV{BRLTTY_BRAILLE_DRIVER}=&amp;quot;bm&amp;quot;, GOTO=&amp;quot;brltty_usb_run&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Reboot&lt;br /&gt;
&lt;br /&gt;
* Board URL (in the preference) [https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json]&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency: 240 Mhz (Wifi/BT)&lt;br /&gt;
* Flash Mode: &amp;quot;DIO&amp;quot;&lt;br /&gt;
* Flash Size: &amp;quot;4MB (32Mb)&amp;quot;&lt;br /&gt;
Arduino Runs On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Events Run On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Programmer: &amp;quot;Esptool&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Wio Terminal ====&lt;br /&gt;
* Get Started&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/  Get Started]&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Displaying-Gyro/ Display Gyro Demo]&lt;br /&gt;
&lt;br /&gt;
* Library to load:  sketch -&amp;gt; Include Library -&amp;gt; Add .ZIP Library&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFi Seeed_Arduino_atWiFi]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_FreeRTOS Seeed_Arduino_FreeRTOS]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atUnified Seeed_Arduino_atUnified]&lt;br /&gt;
# [https://github.com/Seeed-Studio/esp-at-lib esp-at-lib esp-at-lib esp-at-lib]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_mbedtls Seeed_Arduino_mbedtls]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFiClientSecure.git Seeed_Arduino_atWiFiClientSecure.git]&lt;br /&gt;
&lt;br /&gt;
* Additional Board: File &amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs: &lt;br /&gt;
# [https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json package_seeeduino_boards_index.json] &lt;br /&gt;
# Install additional boards: Tools &amp;gt; Board &amp;gt; Board Manager and Search Wio Terminal in the Boards Manager&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
# Tools -­&amp;gt; Boards -­&amp;gt; Seeeduino Wio Terminal&lt;br /&gt;
# Cpu Frequency -­&amp;gt; 120 Mhz&lt;br /&gt;
# Upload Speed -­&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ESPHome==&lt;br /&gt;
&lt;br /&gt;
[https://esphome.io/ ESPHome]&lt;br /&gt;
&lt;br /&gt;
-- Docker option Dashboard&lt;br /&gt;
* Get Docker Image &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull ghcr.io/esphome/esphome&lt;br /&gt;
&amp;lt;/syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a container and share port 6052&lt;br /&gt;
&lt;br /&gt;
-- Docker option command line&lt;br /&gt;
* Create a project&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run --rm -v &amp;quot;${PWD}&amp;quot;:/config -it ghcr.io/esphome/esphome wizard livingroom.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- Install ESPHome localy&lt;br /&gt;
&lt;br /&gt;
* Validate Pithon istallation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
python3 -m venv venv&lt;br /&gt;
&amp;lt;/syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TroubleShooting==&lt;br /&gt;
&lt;br /&gt;
===sync===&lt;br /&gt;
# Try to load a new project&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
	<entry>
		<id>http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1300</id>
		<title>IOT</title>
		<link rel="alternate" type="text/html" href="http://wiki.objclt.ca/wiki/index.php?title=IOT&amp;diff=1300"/>
		<updated>2024-05-11T17:46:01Z</updated>

		<summary type="html">&lt;p&gt;Nicolas: /* ESPHome */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Composant==&lt;br /&gt;
&lt;br /&gt;
==Server==&lt;br /&gt;
&lt;br /&gt;
=== MQTT server ===&lt;br /&gt;
&lt;br /&gt;
==== Mosquitto ====&lt;br /&gt;
&lt;br /&gt;
[[https://mosquitto.org/  Mosquitto ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create Password File&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -c /etc/mosquitto/passwd &amp;lt;user_name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add a new user&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mosquitto_passwd -b passwordfile user password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Update configuration file to use the password file&lt;br /&gt;
&lt;br /&gt;
==== Vernemq ====&lt;br /&gt;
&lt;br /&gt;
[[https://vernemq.com VerneMq ]]&lt;br /&gt;
&lt;br /&gt;
===== Manage Users =====&lt;br /&gt;
* Create or replace password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -c /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Add a user to an existing password file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -a /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Delete User&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Bash&amp;quot;&amp;gt;&lt;br /&gt;
vmq-passwd -D /etc/vernemq/vmq.passwd username&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Show plugins =====&lt;br /&gt;
Show plugins &lt;br /&gt;
vmq-admin plugin show&lt;br /&gt;
&lt;br /&gt;
Enable Plugin&lt;br /&gt;
vmq-admin plugin enable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
Disable a plugin&lt;br /&gt;
vmq-admin plugin disable --name=vmq_acl&lt;br /&gt;
&lt;br /&gt;
==== Blynk ====&lt;br /&gt;
&lt;br /&gt;
[[https://docs.blynk.cc Blynk ]]&lt;br /&gt;
&lt;br /&gt;
===== Access =====&lt;br /&gt;
* Your Admin url is https://yourserver:9443/admin&lt;br /&gt;
* Your Admin login email is admin@blynk.cc&lt;br /&gt;
* Your Admin password is admin&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
[[https://www.amazon.ca/gp/product/B01M8F95QH/ref=oh_aui_detailpage_o06_s00?ie=UTF8&amp;amp;psc=1 NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes Development Board Module]]&lt;br /&gt;
&lt;br /&gt;
[[https://www.adafruit.com/product/2471 Adafruit HUZZAH ESP8266]]&lt;br /&gt;
&lt;br /&gt;
Mode 	GPIO0 	GPIO2 	GPIO15&lt;br /&gt;
* Flash (démarrage normal: exécution du programme installé en Flash) 	3.3v 	3.3v 	GND&lt;br /&gt;
* UART (upload à partir de la liaison série) 	GND 	3.3v 	GND&lt;br /&gt;
* SDIO (démarrage à partir d&#039;une carde SD) 	peu importe 	peu importe 	3.3v&lt;br /&gt;
&lt;br /&gt;
==IDE Arduino==&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
==== General ====&lt;br /&gt;
&lt;br /&gt;
# File -&amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs : &lt;br /&gt;
## http://arduino.esp8266.com/stable/package_esp8266com_index.json&lt;br /&gt;
## https://dl.espressif.com/dl/package_esp32_index.json &lt;br /&gt;
## https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json&lt;br /&gt;
&lt;br /&gt;
# Tools -&amp;gt; Boards -&amp;gt; Boards Manager: &lt;br /&gt;
## Search for ESP8266&lt;br /&gt;
## Install Esp8266 by Esp8266 Community&lt;br /&gt;
&lt;br /&gt;
==== NodeMCU Lua ESP8266 ESP-12 WeMos D1 Mini WIFI 4M Bytes ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;WeMos D1 R2 &amp;amp; Mini&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Adafruit HUZZAH ESP8266 breakout ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== HiGrow ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;Adafruit HUZZAH ESP8266&amp;quot;&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 921600&lt;br /&gt;
* Flasj Mode -­ DIO&lt;br /&gt;
&lt;br /&gt;
===== Huzzah Reset =====&lt;br /&gt;
&lt;br /&gt;
# Hold down the GPIO0 button, the red LED will be lit&lt;br /&gt;
# While holding down GPIO0, click the RESET button&lt;br /&gt;
# Release RESET, then release GPIO0&lt;br /&gt;
# When you release the RESET button, the red LED will be lit dimly, this means it&#039;s ready to bootload&lt;br /&gt;
&lt;br /&gt;
==== Lolin NodeMcu v3 ====&lt;br /&gt;
&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;NodeMcu 1.0 (ESP-12E&amp;quot; Module)&lt;br /&gt;
* CPU Frequency 80 Mhz &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== ESP23 MCU 2.8 Inch Smart Display ====&lt;br /&gt;
&lt;br /&gt;
# If the port is not visible and get &amp;quot;usbfs: interface 0 claimed by ch341 while &#039;brltty&#039; sets config #1&amp;quot;&lt;br /&gt;
# Identify the vendor with lsusb -­&amp;gt; Bus 001 Device 017: ID 1a86:7523 QinHeng Electronics CH340 serial converter&lt;br /&gt;
# Disable the rule in /usr/lib/udev/rules.d/85-brltty.rules &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Device: 1A86:7523&lt;br /&gt;
# Baum [NLS eReader Zoomax (20 cells)]&lt;br /&gt;
###Nr001 ENV{PRODUCT}==&amp;quot;1a86/7523/*&amp;quot;, ENV{BRLTTY_BRAILLE_DRIVER}=&amp;quot;bm&amp;quot;, GOTO=&amp;quot;brltty_usb_run&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Reboot&lt;br /&gt;
&lt;br /&gt;
* Board URL (in the preference) [https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json]&lt;br /&gt;
* Tools -&amp;gt; Boards -&amp;gt;  &amp;quot;ESP32 Dev Module&amp;quot;&lt;br /&gt;
* CPU Frequency: 240 Mhz (Wifi/BT)&lt;br /&gt;
* Flash Mode: &amp;quot;DIO&amp;quot;&lt;br /&gt;
* Flash Size: &amp;quot;4MB (32Mb)&amp;quot;&lt;br /&gt;
Arduino Runs On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Events Run On: &amp;quot;Core 1&amp;quot;&lt;br /&gt;
Programmer: &amp;quot;Esptool&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Upload Speed -&amp;gt; 115200&lt;br /&gt;
&lt;br /&gt;
==== Wio Terminal ====&lt;br /&gt;
* Get Started&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/  Get Started]&lt;br /&gt;
# [https://wiki.seeedstudio.com/Wio-Terminal-Displaying-Gyro/ Display Gyro Demo]&lt;br /&gt;
&lt;br /&gt;
* Library to load:  sketch -&amp;gt; Include Library -&amp;gt; Add .ZIP Library&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFi Seeed_Arduino_atWiFi]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_FreeRTOS Seeed_Arduino_FreeRTOS]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atUnified Seeed_Arduino_atUnified]&lt;br /&gt;
# [https://github.com/Seeed-Studio/esp-at-lib esp-at-lib esp-at-lib esp-at-lib]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_mbedtls Seeed_Arduino_mbedtls]&lt;br /&gt;
# [https://github.com/Seeed-Studio/Seeed_Arduino_atWiFiClientSecure.git Seeed_Arduino_atWiFiClientSecure.git]&lt;br /&gt;
&lt;br /&gt;
* Additional Board: File &amp;gt; Preferences -&amp;gt; Additional Boards Manager URLs: &lt;br /&gt;
# [https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json package_seeeduino_boards_index.json] &lt;br /&gt;
# Install additional boards: Tools &amp;gt; Board &amp;gt; Board Manager and Search Wio Terminal in the Boards Manager&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
# Tools -­&amp;gt; Boards -­&amp;gt; Seeeduino Wio Terminal&lt;br /&gt;
# Cpu Frequency -­&amp;gt; 120 Mhz&lt;br /&gt;
# Upload Speed -­&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ESPHome==&lt;br /&gt;
&lt;br /&gt;
[https://esphome.io/ ESPHome]&lt;br /&gt;
&lt;br /&gt;
* Install docker version&lt;br /&gt;
&lt;br /&gt;
==TroubleShooting==&lt;br /&gt;
&lt;br /&gt;
===sync===&lt;br /&gt;
# Try to load a new project&lt;/div&gt;</summary>
		<author><name>Nicolas</name></author>
	</entry>
</feed>