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

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

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

 雑誌記事

トランジスタ技術

インターフェース

ラズパイマガジン

シェルスクリプトマガジン

 書籍

 

 Linux

 タスク間通信

  • [セミナー・イベント:「リアルタイムOSによる組込みシステム開発技術(FreeRTOS for ESP32-Arduino編)」|支援情報ヘッドライン|J-Net21中小企業ビジネス支援サイト]

 有線LAN

 無線LAN

 ADC

 I2C

 Pull Up/Pull Down

 PWM

 CAN

 製品

 製品化

 工業化

 VGA

 Arduino

SDカード

ESP32 Dev Module

Arduino ESP32 複数バージョン利用方法

 M5Stack

 M5StickC

BeetleC

 M5StickC PLUS

 M5StickC Plus2

 M5Stack Core2 ESP32 IoT Development Kit

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

 M5Paper

 M5Stamp Pico Mate

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

 D-duino-32-XS

 WiFiBoy

 Inkplate 10

 Inkplate 6

 Inkplate 6PLUS

 Inkplate 6COLOR

 ESP-EYE

 CyberPi Go Kit

 ESP-IDF

 ESP-NOW

 Bluetooth

 Wiiリモコン

 WebSocket (Arduino)

 Web server (MicroPython)

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 (MicroPython)

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 (MicroPython)

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

import uftpd

 FTP server (Arduino)

TFTP

 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('test','100')

 BLE to MQTT

 Ping library for MicroPython

 SSH

 RTSP

 SQL

 機械学習

 DSP

 エミュレータ

 マインクラフト

 AVR Programmer

 BLE game controller

 BLE MIDI

 EtherCAT

 Modbus

 USB Host

 CNC

 開発言語

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

LLVM

TinyGo

Smalltalk

mruby

C言語インタープリタ

Stomp Box

Ladder Logic Programming

 PLC

 SLMP

 OPC UA

 SCADA