トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

ESP-WROOM-32のプログラム開発

ESP-WROOM-32のプログラム開発

 

 製品

 VGA

 Arduino

 M5Stack

 M5Stack Core2 ESP32 IoT Development Kit

 M5Stack ESP32 Core Ink Development Kit(1.54'' elnk display)

 M5Paper

 M5Stick-C

BeetleC

 bpi:bit Webduino Bit ESP32マイコンボード

 D-duino-32-XS

 ESP-IDF

 Bluetooth

 Wiiリモコン

 WebSocket

 Web server

MicroWebSrv

UIFlow 1.4.5.1の場合

import network
ap = network.WLAN(network.AP_IF)
ap.config(essid='M5Stack')
ap.active(True)

from microWebSrv import MicroWebSrv
mws = MicroWebSrv()
mws.SetNotFoundPageUrl("/")
mws.Start(threaded=False)

UIFlow 1.6.6(CoreInk)の場合

import network
ap = network.WLAN(network.AP_IF)
ap.config(essid='M5Stack')
ap.active(True)

from MicroWebSrv.microWebSrv import MicroWebSrv
mws = MicroWebSrv()
mws.SetNotFoundPageUrl("/")
mws.Start()

UIFlow 1.7.1(Fire)の場合

プロンプトに制御が返ってきません。1.6.6でも同じでした。M5Stick-C(1.7.0)でも同じでした。

import network
ap = network.WLAN(network.AP_IF)
ap.config(essid='M5Stack')
ap.active(True)

from MicroWebSrv.microWebSrv import MicroWebSrv
mws = MicroWebSrv()
mws.SetNotFoundPageUrl("/")
mws.Start()

MicroWebSrv2 on M5Stack Fire (v1.7.1-fire)

from MicroWebSrv2 import *
from time         import sleep

mws2 = MicroWebSrv2()
mws2.NotFoundURL = '/'   # relative or absolute URL
mws2.StartManaged()

index.html

<html>
<head>
<title>M5 test</title>
</head>

<script>
console.log('hello');
var request = new XMLHttpRequest();

request.open("get", "data.txt", true);
request.onload = function(e) {
  //読み込み成功時の処理など
console.log(request.responseText);
};
request.send(null);
</script>

</html>

data.txt

aaaaa
bbbbb

 DNS server

from microDNSSrv import MicroDNSSrv
MicroDNSSrv.Create({'*' : '192.168.4.1'})
cp MicroDNSSrv/microDNSSrv.py /flash/
rsync MicroWebSrv2/MicroWebSrv2 /flash/MicroWebSrv2
cp FTP-Server-for-ESP8266-ESP32-and-PYBD/uftpd.py /flash/
mkdir /flash/www
echo aaaaa > /flash/www/index.html

main.py

import network
ap = network.WLAN(network.AP_IF)
ap.config(essid='Pumpkin')
ap.active(True)

from microDNSSrv import MicroDNSSrv
MicroDNSSrv.Create({'*' : '192.168.4.1'})

import uftpd

from MicroWebSrv2 import *
mws2 = MicroWebSrv2()
mws2.NotFoundURL = '/'   # relative or absolute URL
mws2.StartManaged()

 FTP server

    • Binary mode only
    • Passive mode only
import network
ap = network.WLAN(network.AP_IF)
ap.active(True)

import uftpd

 NAT Router

 MQTT

パブリッシャー(MQTTClient)

import network 
from umqtt.simple import MQTTClient
import time
station = network.WLAN(network.STA_IF)
station.active(True)
station.connect(ssid, password)

c = MQTTClient('umqtt_client', 'hoge.jp')
c.connect()
c.publish(b'test', '100')
c.disconnect()

(M5mqtt)

from m5mqtt import M5mqtt
m5mqtt = M5mqtt('M5StickC', '192.168.11.2', 1883, '', '', 300)

def fun(topic_data):
  print(topic_data)

m5mqtt.subscribe('iPad',fun)
m5mqtt.start()


m5mqtt.publish(str('test','100')

 SQL

 機械学習

 DSP

 エミュレータ

 ROS

  • [|]

 EtherCAT

 開発言語

PlatformIO

PlatformIOのインストール

pip install platformio

プロジェクトの初期化

platformio init -b m5stick-c

コンパイルとアップロード

platformio run -t upload

ファイルシステムイメージの構築とアップロード

platformio run -t uploadfs

アップデート

set http_proxy=http://10.2.1.7:8080
platformio update

アップグレード

set http_proxy=http://10.2.1.7:8080
platformio upgrade

esptoolのインストール

pip install esptool

MACアドレスの読み取り

esptool -p com4 read_mac

ライブラリのインストール (Adafruit_MQTT)

platformio lib search "header:Adafruit_MQTT.h"
Found 2 libraries:

Adafruit MQTT Library
=====================
#ID: 1092
MQTT library that supports the FONA, ESP8266, Yun, and generic Arduino Client ha
rdware.

Keywords: communication
Compatible frameworks: Arduino
Compatible platforms: Atmel AVR, Atmel SAM, Espressif 32, Espressif 8266, Infine
on XMC, Intel ARC32, Kendryte K210, Microchip PIC32, Nordic nRF51, Nordic nRF52,
 ST STM32, ST STM8, Teensy, TI MSP430
Authors: Adafruit

Blinker
=======
#ID: 2519
Blinker library for embedded hardware. Works with Arduino, ESP8266, ESP32.

Keywords: wifi, websocket, bluetooth, mqtt
Compatible frameworks: Arduino
Compatible platforms: Atmel AVR, Atmel SAM, Espressif 32, Espressif 8266, Intel
ARC32, Microchip PIC32, Nordic nRF51, Nordic nRF52, ST STM32, Teensy, TI MSP430
Authors: i3water


platformio lib install 1092

ライブラリのインストール (PubSubClient)

pio lib install 89

次のエラーメッセージが出てきたら、

UnicodeDecodeError: 'cp932' codec can't decode byte 0x81 in position 34: illegal multibyte sequence

コンパイルする前に次の設定をする。

set PYTHONUTF8=1

M5StickCライブラリ

pio lib install 6246

Lua

MicroPython

JavaScript

BASIC

Forth

LISP

Prolog

Pascal

Rust

TinyGo

Smalltalk

mruby

 OPC UA