天天看點

2021-9-21 esp32 micropython 網絡伺服器 (硬體作品)sc1=22 sda=19 txd=23 rxd=18io1 =25 io2=14 io3=27 io4=26

這篇是一個硬體作品,由于這個隻做了一隻如果長時間不用一些東西會忘記,如果時間太長忘的太多想配置使用的時候就會很痛苦,不用了又很浪費,是以單獨開貼記錄下關鍵部分以及用它做的一些軟硬體布置。

.

2021-9-21 esp32 micropython 網絡伺服器 (硬體作品)sc1=22 sda=19 txd=23 rxd=18io1 =25 io2=14 io3=27 io4=26

硬體: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方法傳資料
           

個人看法:以上部分是ESP32的網絡連接配接功能以及get方法傳資料的一種寫法,用格式化将資料拼接進去操作相對簡單。在嵌入式裝置進行網絡通信時比較主流的是MQTT訂閱式 、長連結以及 485,無線協定 等等都是可以的。我在制作一些一些小型系統時覺得32的網絡子產品很适合使用網頁請求進行資料交換,主要是和伺服器耦合度低便于維護雖然安全性差但是硬體系統普遍是局域系統安全真不是主要問題,沒人持續維護才是每日常态。。。