將ADXL345(esp32)數據 傳到 Blynk上

1.先將ADXL 345 接上 ESP32上面

查看GPIO 位置,ESP8266 SCL為 GPIO 5, SDA為GPIO 4 ,所以上一篇用ESP8266為
i2c = I2C(scl=Pin(5),sda=Pin(4), freq=10000)
adx = ADXL345.ADXL345(i2c)

目前採用ESP 32,其圖為
在这里插入图片描述
因此SCL 設為 GPIO 22 ,SDA 設定為 GPIO 21 所以程式為
i2c = I2C(scl=Pin(22),sda=Pin(21), freq=10000)
adx = ADXL345.ADXL345(i2c)

接法如下圖
在这里插入图片描述
2. 將相關檔案上傳
2.1 esptool --port COM4 erase_flash
2.2 esptool.py --port COM4 write_flash -z 0x1000 esp32-idf4-20191124-v1.11-586-g1530fda9c.bin
2.3 ampy --port COM4 put BlynkLib.py
2.4 ampy --port COM4 put ADXL345.py

3.開發一個網路連線上網程式,為connwifi.py

import network
import ure
import time
from ntptime import settime

def localtime_setting():
utc_epoch=time.mktime(time.localtime())
Y,M,D,H,m,S,ms,W=time.localtime(utc_epoch + 28800)
t=str(Y) + ‘-’
if M<10:
t += ‘0’ + str(M)
else:
t += str(M)
t += ‘-’
if D<10:
t += ‘0’ + str(D)
else:
t += str(D)
t += ’ ’
if H<10:
t += ‘0’ + str(H)
else:
t += str(H)
t += ‘:’
if m<10:
t += ‘0’ + str(m)
else:
t += str(m)
t += ‘:’
if S<10:
t += ‘0’ + str(S)
else:
t += str(S)
return t

def scanNetwork(station, ssid):
validNetwork = station.scan()
for net in validNetwork:
if ure.search(ssid, str(net[0])):
return True
return False

def connect(ssid, password):
station = network.WLAN(network.STA_IF)
if station.isconnected() == True:
print(“Already connected”)
return

station.active(True)
if scanNetwork(station, ssid) == False:
print(“Without this WiFi”)
return
station.connect(ssid, password)
while station.isconnected() == False:
pass
print(“Connection successful”)
print(station.ifconfig())
settime()
print("local time is : " +localtime_setting())

def disconnect():
station = network.WLAN(network.STA_IF)
if station.isconnected() == True:
station.disconnect()

其中可以使用
import connwifi
connwifi.connect(“cef”, “0912882881”)
讓ESP32上網

4.也將connwifi.py 上傳
ampy --port COM4 put connwifi.py

5.檢查程式數量
ampy --port COM4 ls
在这里插入图片描述
6.用 putty 連上去執行相關程式
6.1 ctrl +E
6.2 貼上
import machine
from machine import Pin,I2C
import ADXL345
import BlynkLib
import time
import connwifi

i2c = I2C(scl=Pin(22),sda=Pin(21), freq=10000)
adx = ADXL345.ADXL345(i2c)

BLYNK_AUTH = ‘hHOqA_BzqkT4ItQiaQt3RAauPLqtUjaG’
blynk = BlynkLib.Blynk(BLYNK_AUTH)

def flash_led():
led = Pin(2, Pin.OUT)
led.value(0)
time.sleep(0.2)
led.value(1)

def get_data():
x=adx.xValue
y=adx.yValue
z=adx.zValue
roll, pitch = adx.RP_calculate(x,y,z)
blynk.virtual_write(5, roll)
blynk.virtual_write(6, pitch)

def main():
connwifi.connect(“cef”,“0912882881”)
while True:
get_data()
blynk.run()
time.sleep(0.5)
flash_led()

main()

6.3 ctrl +D 執行 在这里插入图片描述
7.看一下ESP32是否會閃燈
在这里插入图片描述
8.操作一下Blynk 將roll input 設為5 pitch input設為 6
在这里插入图片描述
9.執行一下Blynk ,搖一搖 ESP32 與ADXL345那塊版子,數字會改變了
在这里插入图片描述
OK 完成了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值