https://micropython-docs-ja.readthedocs.io/ja/latest/esp8266/tutorial/intro.html
にてespr developperにもまずerase-flashしてインスト成功 しかもhttps getもでけた!
https://blog.goediy.com/?p=262 でwifiコネクト
https://blog.boochow.com/article/454341667.html でhttp get of json なども参考に
以下のコードが成功した!!esp32と一緒のはず、たぶん
(arduino言語でhttp getできるので試す必要がほとんどないので。。。。)
import network
import urequests
sta_if = network.WLAN(network.STA_IF)
if not sta_if.isconnected():
print('connecting to network...')
sta_if.active(True)
sta_if.connect(ssid,pswd)
while not sta_if.isconnected():
pass
print('network config:', sta_if.ifconfig())
r = urequests.get('https://fseigojp.web.fc2.com/')
print(r.text)
-----------------esp32-------------------------------
MicroPython: ESP32/ESP8266 with DHT11/DHT22 Temperature and Humidity Sensor | Random Nerd Tutorials どうもesp32にはdhtライブラリがビルトインされてるらしい
neopixel,rtc,timer,deeepsleepも同様にビルトインだった
(ESP32 用クイックリファレンス — MicroPython 1.19.1 ドキュメント (micropython-docs-ja.readthedocs.io) によるとsdcもあるげなが、defaultのそれではだめだった!
ESP32 – Micro SD Card Interface : 7 Steps - Instructablesにでてくるsdcard.pyを
いれてやっと成功した!
上記の英語サイトにssd1306,US,BME280,lcd1602もあったが未体験、今後の課題
[備忘録]ESP32 MicroPythonサンプルコード - Qiita
filenameはSETTING_TXTと大文字! fileがesp32内にできる!
------------------access-point/deep sleep---------------------
MicroPython: ESP32/ESP8266 Access Point (AP) | Random Nerd Tutorials
MicroPython: ESP32 Deep Sleep and Wake Up Sources | Random Nerd Tutorials
--------------------------esp32----------------------------
https://qiita.com/sirius1000/items/4b4e6380c4942f347dd9 を参考に
esptool.py --port /dev/ttyUSB0 erase_flash
esptool.py --chip esp32 --port /dev/ttyUSB0 write_flash -z 0x1000 esp32-idf3-20210202-v1.14.bin でインスト
以下はxiao rp2040の詳述である
XIAO RP2040 x Expansion boardのMicroPythonサンプル - Seeed K.K. エンジニアブログ dht11.pyはうまくいかんかったので、ラズピコの該当品dht.pyを流用した!
xiao rp2040でuartする場合,arduinoIDEの場合とことなりuart1などとせんでよい!
当該ライブラリのservo.py,ssd1306.py,dht.py,ws2811.pyも普通につかえたが
lcd1602はgrove仕様にて難儀した、esp8266_i2c_lcd.py,lcd_api.pyをラズピコより導入
以下のように成功! ちなみに、i2c定義で0をつかうとBadPinとなる!
ssd1306の例のように1をつかうと成功した!
import machine
form esp8266_i2c_ld import I2cLcd
I2C_ADDR=0x27
i2c=machine.I2C(1,scl=machine.Pin(7),sda=machine.Pin(6),freq=400000)
lcd=I2cLcd(i2c,I2C_ADDR,2,16)
lcd.putstr("it works\nsecond line")
---------------------------------------------------------------------
ラズピコ用のds1307.pyを流用できた! やはりi2cはチャンネル1!
from machine import I2C,Pin
from ds1307 import DS1307
i2c=machine.I2C(1,scl=machine.Pin(7),sda=machine.Pin(6),freq=400000)
rtc=ds1307(i2c)
print(rtc.datetime())
ただ、ラズピコと違い、i2cは1チャンネルだけみたいなのでlcd/oledと併用は難儀そう
将来の宿題とする、当面はsdcard(spi)に書き込めればよい。。。。。
bleでuartして時間などを表示させる手もあると思う
import machine
form bme280 import BME280
i2c=machine.I2C(1,scl=machine.Pin(7),sda=machine.Pin(6),freq=200000)
bme=BME280(i2c=i2c)
print(bme.temperature or bme.humidtiy or bme.pressure).....
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
sdcard.py::カードの相性があるげな、エレコムで失敗、キオクシアで成功!5v使用!
https://github.com/StereoRocker/micropython/tree/rp2-sdcard/drivers
ラズピコ用だが流用できた すばらしい! 注:最後にos.umount('sd')を忘れずに!
ーーーー ws2811 ラズピコはインラインアセンブリをもちいるのでむしろ難儀ーーーーーー
builitinのuser-3color-ledsはやはり変則! ネオピクセルはピンの11,12が関係!
switch=Pin(11,Pin.OUT)
switch.value(1)
led=WS2811(12,1) # (pin_num,led_count) これでneoxielが光りだす
ビルトインled(3kind)は以下の通りで、
ledr=Pin(17,Pin.OUT) # led-r はつかえないledrはつかえる要注意
ledr.value(1) # 全部1で消灯 全部0で点灯
ledg=Pin(16,Pin.OUT) # led-g はつかえないledgはつかえる要注意
ledg.value(1) # 全部1で消灯 全部0で点灯
ledb=Pin(25,Pin.OUT) # led-b はつかえないledbはつかえる要注意
ledb.value(1) # 全部1で消灯 全部0で点灯
0 件のコメント:
コメントを投稿