這篇是一個硬體作品,由于這個隻做了一隻如果長時間不用一些東西會忘記,如果時間太長忘的太多想配置使用的時候就會很痛苦,不用了又很浪費,是以單獨開貼記錄下關鍵部分以及用它做的一些軟硬體布置。
.
硬體:esp32主要 , 锂電500MA,四路按鍵,0.96OLED 螢幕一塊,序列槽轉485一塊,微型開關1個
首先記錄引腳位置如下:
sc1=22 sda=19 txd=23 rxd=18
io1 =25 io2=14 io3=27 io4=26
使用了以上資源後 硬體具備的基本能力為:
1、獨立電池供電
2、四路按鍵呼叫響應
3、螢幕顯示
4、485通訊硬體配置
目前已經燒寫到内部的程式如下
# sc1=22 sda=19 txd=23 rxd=18 io1 =25 io2=14 io3=27 io4=26
from KEY4 import key #自制按鍵類
import struct,time # 封包解包
from WENSHIDU import WenShiDu # 自制485 溫濕度通信類
from machine import UART,I2C,Pin
import Relay as R #自制485繼電器通信類
import time
from ftime import ftime_df #自制非阻塞時間定時器類
'''
以下為一個特定功能,重新開發時可無視以下内容
'''
import random
from machine import UART,I2C,Pin
u1=UART(1,9600,tx=23,rx=18)
wenshi=WenShiDu(u1)
relayAll=R.relay(u1)
import ssd1306
i2c = I2C(scl=Pin(22), sda=Pin(19), freq=100000)
lcd = ssd1306.SSD1306_I2C(128, 64, i2c)
lcd.text('system ....ok',0,0,1)
lcd.show()
io = key()
io.ioNum()
jdq=R.relay(u1)
time_0=ftime_df(10)
while 1:
if io.ioNum()== 1:
jdq.onoFF(10,0,1)
elif io.ioNum()==2:
jdq.onoFF(10,1,1)
elif io.ioNum()== 3:
jdq.onoFF(10,2,1)
elif io.ioNum()== 4:
for i in range(3):
jdq.onoFF(10,i,0)
time.sleep_ms(120)
elif io.ioNum()== 0:
pass
if time_0.time_dif() ==1:
lcd.fill(0)
lcd.text(str(wenshi.readWSD(20)),0,0,1)
time_0=ftime_df(5)
time.sleep(1)
lcd.text(str(wenshi.readWSD(5)),0,20,1)
lcd.show()
記錄完畢下面是一個網絡擴充記錄
=====================================================================
esp32的網絡功能
import network
wl=network.WLAN(network.STA_IF)
wl.active(True)
wl.connect('網絡名稱','網絡密碼')
wl.isconnected()#這裡是判斷網絡連接配接狀态,如果掉線記得重連
#以上是聯網部分,下面是與伺服器通信部分
import urequests as requests
cc=requests.get("http://IP/test%s"%"?a=1&&b=6").text #get方法傳資料