LoginSignup
0
1

More than 1 year has passed since last update.

MaixduinoをWiFiに接続する!(MaixPyを使ったPythonコード)

Posted at

1.概説

Maixduinoには、ESP32-WROOM-32チップが搭載されているため、WIFI通信が可能です。
以下のSipeed社公式Githubサイトに参考となるコードがあるので、これを踏まえて、Socket通信ができるところまでのコードを紹介します。試しにヤフージャパンのIPアドレスを取得しています。内容の信憑性と実行については自己責任でお願いしますね。

2.コード(Maixduino)

import socket
import network
import gc
import os
import lcd, image
import machine
from board import board_info
import utime
from Maix import GPIO
from fpioa_manager import *

#iomap at MaixDuino
fm.register(25,fm.fpioa.GPIOHS10)#cs
fm.register(8,fm.fpioa.GPIOHS11)#rst
fm.register(9,fm.fpioa.GPIOHS12)#rdy
fm.register(28,fm.fpioa.GPIOHS13)#mosi
fm.register(26,fm.fpioa.GPIOHS14)#miso
fm.register(27,fm.fpioa.GPIOHS15)#sclk

nic = network.ESP32_SPI(cs=fm.fpioa.GPIOHS10,rst=fm.fpioa.GPIOHS11,rdy=fm.fpioa.GPIOHS12,
mosi=fm.fpioa.GPIOHS13,miso=fm.fpioa.GPIOHS14,sclk=fm.fpioa.GPIOHS15)

wifi = nic.scan()
for v in wifi:
    print(v)
print()

nic.isconnected()
nic.connect("<SSID>", "<WifiPassword>")
print(nic.isconnected())

s = socket.socket()
addr = socket.getaddrinfo("www.yahoo.co.jp", 80)[0][-1]

s.connect(addr)

3.最後に

MaixPyはMicropythonをベースにしていると思われるのですが、今のところ、なんとインターネット通信でお決まりのSSLやREQUESTSモジュール(MicropythonでいうところのUSSLやUREQUESTS)が使えません。SIPEED社の更新を待つか、もしインストールの仕方がわかる人がいれば教えてほしいのですが、これは結構面倒な話です。つまり、Socket通信でコードを書いていくしかないということ。SSLが使えないとすると、データベースへのセキュアアクセスなどもできないのではないか?と心配になります。このあたりの解決策をご存知の方、ぜひ教えてください!
ここがMaixduino、Maixpyの改善点だと思います。少し価格で妥協ができるのであれば、やはりRasberryPiの方がモジュールの多様性という点では、優れているように思います。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1