Raspberry PI Zero W install OS ,MQTT without keyboard, monitor
/in Rasperry PI /by อ.เอ้ดSetup Wifi
create wpa_supplicant.conf
country=TH
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid=”your-networks-SSID”
psk=”your-networks-password”
}
save and copy to root or sd drive:\
Enable ssh
create ssh.txt
save and copy to root or sd drive:\
reset default user password (user:pi password:raspberry)
create userconf.txt
pi:$6$c70VpvPsVNCG0YR5$l5vWWLsLko9Kj65gcQ8qvMkuOoRkEagI90qi3F/Y7rm8eNYZHW8CY6BOIKwMH7a3YYzZYL90zf304cAHLFaZE0
save and copy to root or sd drive:\
การ Fix ip address
sudo nano /etc/dhcpcd.conf
กรณี Wireless เพิ่มไปตรงท้ายบรรทัด
interface wlan0
static ip_address=192.168.1.10/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
กรณีเป็น LAN
interface eth0 เพิ่มไปตรงท้ายบรรทัด
static ip_address=192.168.1.10/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
การติดตั้ง MQTT MOSQUITTO
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install mosquitto mosquitto-clients
การสร้าง user แบบคนเดียว หรือหลายคน
sudo nano mosquitto_pwd.txt
aaa:aaaa*123456 // mqtt user1 password
bbb:bbb*123456 // mqtt user2 password
save แล้ว เข้ารหัส encrypt file โดยคำสั่ง
sudo mosquitto_passwd -U mosquitto_pwd.txt
การเพิ่ม password file ,config ไปยัง mosquitto
sudo nano /etc/mosquitto/mosquitto.conf
persistence true
allow_anonymous true
password_file /etc/mosquitto/mosquitto_pwd.txt
listener 1883
protocol mqtt
ตรวจสอบ service
sudo /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
หรือ
sudo service mosquitto status
หรือ ps ax | grep mosq
การสั่ง Restart Service
sudo service mosquitto restart
ดูว่า port ใช้งานได้ไหม
netstat -tlnp | grep mosq
sudo mosquitto -v
การดู view all topics
mosquitto_sub -h localhost -u user -P password -t # -d
ติดตั้ง Teamviewer บน Raspberry PI OS
/in Rasperry PI /by อ.เอ้ด64 Bit Preview Version https://download.teamviewer.com/download/linux/teamviewer_arm64.deb
32 Bit Preview Version https://download.teamviewer.com/download/linux/teamviewer_armhf.deb
ใช้คำสั่ง wget เช่น download 32 bits
wget https://download.teamviewer.com/download/linux/teamviewer_armhf.deb
sudo dpkg -i teamviewer_armhf.deb หรือ เรียกไฟล์ติดตั้งบน desktop
เชื่อม Wifi บน Raspberry Pi OS โดยไม่มีจอ
/in Rasperry PI /by อ.เอ้ดสร้างไฟล์ชื่อ wpa_supplicant.conf ไว้ข้างนอก
country=TH # Your 2-digit country code
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="YOUR_NETWORK_NAME"
psk="YOUR_PASSWORD"
key_mgmt=WPA-PSK
}
กรณีที่มีหลาย SSID
country=TH # Your 2-digit country code
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="YOUR_NETWORK_NAME1"
psk="YOUR_PASSWORD1"
key_mgmt=WPA-PSK
id_str="ID_1"
priority=100
}
network={
ssid="YOUR_NETWORK_NAME1"
psk="YOUR_PASSWORD1"
key_mgmt=WPA-PSK
id_str="ID_2"
priority=99
}
เปิด SSH บน Raspberry Pi OS โดยไม่มีจอ
/in Rasperry PI /by อ.เอ้ดสร้างไฟล์ชื่อ ssh ไม่มีนามสกุลไว้
ใน Windows ไป command prompt สิทธิ์ admin
ไป ที่ Drive flash เช่น H:
copy con ssh. Enter
จากนั้นกด Ctrl-Z
ไฟล์สร้างไว้
install DHT Raspbian 10
/in Rasperry PI /by อ.เอ้ดทำการ update และ upgrade Raspbian
sudo apt-get update
sudo apt-get upgrade
download libray DHT โดยใช้ของ adafruit
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
เข้า ไปใน folder เพื่อติดตั้ง library
cd Adafruit_Python_DHT
ติดตั้ง Library DHT ด้วยคำสั่ง
sudo python3 setup.py install
ทดลองเข้า folder เพื่อทดสอบการทำงาน
cd examples
sudo ./AdafruitDHT.py 11 8
ModuleNotFoundError: No module named ‘Adafruit_DHT’
/in Rasperry PI /by อ.เอ้ดModuleNotFoundError: No module named ‘Adafruit_DHT’
เพราะใน Raspbian ล่าสุดเป็น python3 จึงต้องติดตั้งแบบ python3
ใช้คำสั่ง
sudo python3 setup.py install
Raspberry PI DHT Thingspeak Python3
/in IOT+Programming, Rasperry PI /by อ.เอ้ดimport Adafruit_DHT
from time import time, sleep
from urllib.request import urlopen
import sys
WRITE_API = “Your ThingSpeak Write API” # Replace your ThingSpeak API key here
BASE_URL = “https://api.thingspeak.com/update?api_key={}”.format(WRITE_API)
SENSOR_PIN = 8 #GPIO 8
SENSOR_TYPE = Adafruit_DHT.DHT11
SensorPrevSec = 0
SensorInterval = 2 # 2 seconds
ThingSpeakPrevSec = 0
ThingSpeakInterval = 120 # 120 seconds
try:
while True:
if time() – SensorPrevSec > SensorInterval:
SensorPrevSec = time()
humidity, temperature = Adafruit_DHT.read_retry(SENSOR_TYPE, SENSOR_PIN)
print(“Humidity = {:.2f}%\tTemperature = {:.2f}C”.format(humidity, temperature))
if time() – ThingSpeakPrevSec > ThingSpeakInterval:
ThingSpeakPrevSec = time()
thingspeakHttp = BASE_URL + “&field1={:.2f}&field2={:.2f}”.format(temperature, humidity)
print(thingspeakHttp)
conn = urlopen(thingspeakHttp)
print(“Response: {}”.format(conn.read()))
conn.close()
sleep(10)
except KeyboardInterrupt:
conn.close()
modify from:https://tutorial.cytron.io/2019/10/16/send-sensors-data-to-thingspeak-using-raspberry-pi/
Raspberry Pi DHT11 DHT22 Temperature and Humidity Sensor Python
/in Rasperry PI, ไม่มีหมวดหมู่ /by อ.เอ้ดsudo pip3 install Adafruit_DHT
แบบที่ 1
#!/usr/bin/python
import sys
import Adafruit_DHT
while True:
humidity, temperature = Adafruit_DHT.read_retry(11, 8) #DHT11
# humidity, temperature = Adafruit_DHT.read_retry(22, 8) #DHT22
if humidity is not None and temperature is not None:
print (‘Temp={0:0.1f}*C Humidity={1:0.1f} %’.format(temperature, humidity))
else:
print (‘Failed to get reading. Try again!’)
แบบที่ 2
#!/usr/bin/python
import sys
import Adafruit_DHT
import time
sensor=Adafruit_DHT.DHT11 # ใส่อุปกรณ์ที่ใช้ในที่นี้คือ DHT11
#sensor=Adafruit_DHT.DHT22
pin=8 # PIN ของ GPIO ที่เชื่อมต่อกับ DHT
while True:
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
print(‘Temp: {0:0.1f} C Humidity: {1:0.1f} %’.format(temperature, humidity))
else:
print(“Sensor Failure. Check wiring.”);
time.sleep(1);
Interesting links
Here are some interesting links for you! Enjoy your stay :)Categories
Archive
- October 2024
- January 2024
- September 2023
- August 2023
- June 2023
- May 2023
- January 2023
- December 2022
- September 2022
- July 2022
- June 2022
- May 2022
- April 2022
- March 2022
- February 2022
- January 2022
- December 2021
- November 2021
- October 2021
- August 2021
- July 2021
- June 2021
- May 2021
- March 2021
- February 2021
- January 2021
- December 2020
- November 2020
- October 2020
- September 2020
- August 2020
- July 2020
- June 2020
- May 2020
- April 2020
- March 2020
- January 2020
- December 2019
- November 2019
- October 2019
- September 2019
- July 2019
- June 2019
- September 2018
- August 2018
- March 2018
- February 2018
- January 2018
- December 2017
- November 2017
- September 2017
- August 2017
- July 2017
- May 2017
- April 2017
- March 2017
- February 2017
- January 2017
- November 2016
- October 2016
- September 2016
- August 2016
- July 2016
- June 2016
- March 2016
- October 2015
- September 2015
- August 2015
- March 2015
- March 2014
- October 2011