投稿

ESP32 開発備忘録

イメージ
IO12 IO12ピンは、フラッシュチップへの供給電圧(VDD_SDIO)を決めるのに使われていて、LOWなら電圧が3.3V、HIGHなら電圧が1.8Vに決まります。どこにもつながっていないときは、プルダウン抵抗でLOWに落とされ、ESP32に3.3Vが供給されます。しかし、IO12が何処かにつながって、HIGHになっているときは、電源電圧が1.8Vとなるため、フラッシュチップが起動せず書き込みができない状態となるようです。今回実行したコマンド .\espefuse --port COM10 set_flash_voltage 3.3V で、IO12の状態に関わらず、フラッシュチップへの供給電源電圧3.3Vに設定すると、無事電源が供給されて書き込めるようになる、ということでした。 SD Card サンプルのSD_TestはESP32用。ArduinoIDE 2.3.2 ESP32-DevKitC microSD モジュール 3.3V 3V3 GPIO 5 (SPI SS) CS GPIO 23 (SPI MOSI) MOSI GPIO 18 (SPI SCK) CLK GPIO 19 (SPI MISO) MISO GND GND IO2 の設定 基本オープン、もしくはpull-downしておく。pull-upの場合はダウンロード時エラー。 Sketch uses 262541 bytes (20%) of program storage space. Maximum is 1310720 bytes. Global variables use 21344 bytes (6%) of dynamic memory, leaving 306336 bytes for local variables. Maximum is 327680 bytes. esptool.py v4.5.1 Serial port /dev/cu.usbserial-14130 Connecting...................................... A fatal error occurred: Failed to connect to ESP32: Wrong boot mode detected (0xb)! The chip needs to be in do...

Git 備忘録

イメージ
  ローカルファイルをGitHubにアップロードする リモートリポジトリの作成 Github WebでNew -> ... 例)リモートurl https://github.com/lovefool/Serial_bridge_SoftwareSerilal_ESP32_for_E220_JP.git ローカルリポジトリの作成 >git init >git add . >git commit -m"Initial commit" コマンドでローカルリポジトリとリモートリポジトリを紐付け >git remote add origin (リモートurl)」 >git remote add origin https://github.com/lovefool/Serial_bridge_SoftwareSerilal_ESP32_for_E220_JP.git ローカルリポジトリをリモートリポジトリへpush >git push origin master リポジトリーのブランチ master? main? git branch で調べる .gitignoreが反映されない時(現在これをやってもダメ~) # ファイル名を指定してインデックスから削除 git rm --cached < ファイル名 > # または、すべてのファイルをインデックスから削除(ファイルが複数ある場合はこれでもOK) git rm -r --cached . # あらためて add git add . # コミット git commit -m "除外設定を変更"

LoRaモジュールのテスト

イメージ
 EBYTE E220-900T22D JPバージョンのテスト CLEALINK E220-900T22S(JP) メーカのサンプル設定にすることで、双方向の通信を確認 Sample Rev3の設定(Fixed, RSSI, addh=0, addl=0,chan=0) 確認コマンド <c1><00><09> 設定コマンド <c0><00><08><00><00><70><01><00><C5><00><00> メッセージ送信テスト。受信側にはRSSIが1Byte付与される。 <00><00><00> Hello  <-Fixedのためアドレス(H,L)とチャンネル付与   ESP32でソフトウェアシリアルを利用する改造 EBYTEの設定プログラムでハードウェア設定を確認 Model: E220-900T22S/D Version: 7259-11-2 FrequencyStr: 873.125MHz Parameter:  0xc0 0x00 0x08 0x00 0x00 0x60 0x00 0x17 0x03 0x00 0x00 E220のピン配置 E220接続 E220の電源は3.3V~5V。5Vの方が電源効率がよい。 E220 Get Config 設定読込 M0/M1をVCC(今回3.3V)に接続。 RX/TXの4.7Kの プルアップをつけるとスケッチのアップロード不可 SoftwareSerialでもe220ttlでもどちらでも動作 //******** Works both ways ************** // LoRa_E220 e220ttl(D7, D8); // Config without connect AUX and M0 M1 #include <SoftwareSerial.h> SoftwareSerial mySerial ( D7 , D8 ); // Arduino RX <-- e220 TX, Arduino TX --> e220 RX LoRa_...

8266EX(WeMOS D1 mini) でGPSモジュールのテスト

イメージ
GPS モジュール GY-NEO6MV2 TinyGPSPlusを使ったテストプログラム GPSモジュールとWemos D1をシリアルで繋ぎテスト。 ソースコード  (Wemos_GPS_Serial2) TinyGPSPlusライブラリー Google Mapに緯度、経度を貼り付けてみると、隣の家(5mくらい離れてる)を指します。このモジュールだとこのくらいの精度なのかな?時間はUTCなので時差9時間。 NMEA 0183フォーマット $GPRMC 単語例 説明 意味 085120.307 協定世界時(UTC)での時刻。日本標準時は協定世界時より9時間進んでいる。hhmmss.ss UTC時刻:08時51分20秒307 A ステータス。V = 警告、A = 有効 ステータス:有効 3541.1493 緯度。dddmm.mmmm 60分で1度なので、分数を60で割ると度数になります。Googleマップ等で用いられる ddd.dddd度表記は、(度数 + 分数/60) で得ることができます。 緯度:35度41.1493分 N 北緯か南緯か。N = 北緯、South = 南緯 北緯 13945.3994 経度。dddmm.mmmm 60分で1度なので、分数を60で割ると度数になります。Googleマップ等で用いられる ddd.dddd度表記は、(度数 + 分数/60) で得ることができます。 経度;139度45.3994分 E 東経か西経か。E = 東経、West = 西経 東経 000.0 地表における移動の速度。000.0~999.9[knot] 移動の速度:000.0[knot] 240.3 地表における移動の真方位。000.0~359.9度 移動の真方位:240.3度 181211 協定世界時(UTC)での日付。ddmmyy UTC日付:2011年12月18日 磁北と真北の間の角度の差。000.0~359.9度 磁北と真北の間の角度の差の方向。E = 東、W = 西 A モード, N = データなし, A = Autonomous(自律方式), D = Differential(干渉測位方式), E = Estimated(推定) モード:自律方式 *6A チェックサム チェックサム値:6A $GPGSV,2,1,08,16,44,274,30,17,,...

OLEDを接続したときの備忘録(8266EX:NodeMCU,Wemos D1 mini)

イメージ
Lolin NodeMCU V3 に OLEDを接続 サンプルプログラムを改造して動作確認。 (ソース) 1)i2Cのアドレス。 NodeMCUのi2CピンはD1/D2                               2)OLEDのi2Cアドレスは基板の裏を見て抵抗の位置が"0x78" プログラムでは"0x3C"を指定する。 oled . begin ( SSD1306_SWITCHCAPVCC, 0x 3C ) ; NodeMCUのPINアサインは以下のファイルに書いてある。 C:\Users\xxxx\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\variants\nodemcu\pins_arduino.h #ifndef Pins_Arduino_h #define Pins_Arduino_h #define PIN_WIRE_SDA (4) #define PIN_WIRE_SCL (5) static const uint8_t SDA = PIN_WIRE_SDA; static const uint8_t SCL = PIN_WIRE_SCL; #ifndef LED_BUILTIN #define LED_BUILTIN 2 #endif #define LED_BUILTIN_AUX 16 static const uint8_t D0   = 16; static const uint8_t D1   = 5; static const uint8_t D2   = 4; static const uint8_t D3   = 0; static const uint8_t D4   = 2; static const uint8_t D5   = 14; static const uint8_t D6   = 12; static co...

Lolin NodeMCU v3 (EXP8266EX ESP-12E) のWebサーバ’iPhoneの通信) 備忘録

イメージ
①SSIDtpパスワードは8桁以上設定する必要あり。そうでないとデフォルトのSSID,パスワードなしとなる。   // make your password atleast 8 character long. It will work. const char ssid[] = "GPS-Tracker" ; const char pass[] = "123456789" ; IPAddress ip ( 192 , 168 , 10 , 1 ) ; IPAddress subnet ( 255 , 255 , 255 , 0 ) ;

Savage Bobber 修理

 胴枠(Formaer)作成 北零 1.6mm ベニア     400mm/min, 85%