ThinkCentre M72eへESXi6.7のInstall(失敗)
結果
ThinkCentre M72eへESXi6.7のInstallを試みたが、No system foundと表示されSSD boot出来ない。 BIOSで色々設定を変えたが出来ない。 このマシンは、Ubuntu20.04を入れる事とする...。
手順
1.ESXi6.7のオフラインバンドルのダウンロード VMware vSphere Hypervisor (ESXi) Offline Bundle https://customerconnect.vmware.com/jp/downloads/details?downloadGroup=ESXI67U3B&productId=742&rPId=81450#product_downloads
2.Realtek Driver Net55-r8168のダウンロード
VIB File of version 8.045a Offline Bundle of version 8.045a https://vibsdepot.v-front.de/wiki/index.php/Net55-r8168
3.VMware Power CLIのインストール Install-Module -Name VMware.PowerCLI
4.PowerShellのセキュリティの無効化 PS D:\Download\ESXi-Customizer-PS-master> Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
5 .オフラインバンドルにカスタムパッケージ(NIC Driver)を追加 PS D:\Download\ESXi-Customizer-PS-master> .\ESXi-Customizer-PS.ps1 -v67 -pkgDir .\pkg\ .\ESXi670-201912001.zip
Reference: Install ESXi 7 on Zotac CI660 https://communities.vmware.com/t5/ESXi-Discussions/Install-ESXi-7-on-Zotac-CI660/m-p/2829736#M274559
VMware ESXi 7.0 で No Network Adapters | 解決 https://yvernis.blog.fc2.com/blog-entry-234.html
RealtekDriverを入れたカスタムESXi6.7 OSの作成 https://enk2x.ru/2020/07/04/esxirealtek/
M5Stackの電池延命化と低電力化
目次
チャージコントローラによる充電量の制限
M5Stackの充電制御IC IP5306のネット上に分散していたレジスタ情報をまとめる 様によると、「M5Stack BASICのボトム(LiPo:110mAh)を使うときは、スケッチのsetup()の最初に以下のように記載してやることで、充電電流オーバーによるLiPoの劣化をある程度防げるはず」との記載。
setup(){ M5.begin(); M5.Power.begin(); M5.Power.setVinMaxCurrent(CURRENT_100MA) ;
一つの可能性に行きついたが、太陽光パネルをM5Stackに接続した場合、チャージコントローラであるIP5306が過充電・放電を防いでくれるのではないか。 つまり、外部にチャージコントローラは不要になるのではないか
M5StickCのAXP192の電源周りを調べる | Lang-ship によると、M5StickCのチャージコントロータAXP192では、
USB INはデフォルトで500mAに制限されている(レジスタ値変更により、更に制限できる可能性もある)
AXP192経由での過放電は禁止されている(と推測されている)
過電圧保護回路が入っている。
外部電源電圧が6.3Vを超えると、APX19xはIRQ1 / 4を送信し、外部電源が過電圧であることを示します。外部電源が7Vを超えると、AXP192は自動的にシャットダウンします。 M5-Schematic/AXP192 Datasheet v1.13_cn.pdf at master · m5stack/M5-Schematic · GitHub
低電力化
M5StickCでの省電力ノウハウ | Lang-ship によると、画面有り・WiFiありで消費電力を最小にするには、
- ESP32 80MHz(無線利用) で15.4mA
- 画面8以下で 1.0mA
の電流設定が良いと想定する。更にWiFiの消費電力を下げるには、下記が必要。
- 無線送信電力を100mW(20dBm)から50mW(17dBm)、10mW(10dBm)へ下げる
- APモードの場合、ビーコン間隔を最長
esp-idf/esp_wifi.h at 1c7a8b3b712c4020562551f692d0ced8f7470d2c · espressif/esp-idf · GitHubより、 ESP32のソースコードで電力や通信レート・距離、チャネルに関連する関数を抜粋しておく。
WiFiの場合
esp_err_t esp_wifi_set_ps(wifi_ps_type_t type); esp_err_t esp_wifi_get_ps(wifi_ps_type_t *type); //The default protocol is (WIFI_PROTOCOL_11B|WIFI_PROTOCOL_11G|WIFI_PROTOCOL_11N) esp_err_t esp_wifi_set_bandwidth(wifi_interface_t ifx, wifi_bandwidth_t bw); //@attention 2. WIFI_BW_HT40 is supported only when the interface support 11N esp_err_t esp_wifi_set_vendor_ie_cb(esp_vendor_ie_cb_t cb, void *ctx); * Level0 represents highest transmiting power and level5 represents lowest * transmiting power. * levels as follows: * - [78, 127]: level0 //20dBm?? * - [76, 77]: level1 * - [74, 75]: level2 * - [68, 73]: level3 * - [60, 67]: level4 * - [52, 59]: level5 * - [44, 51]: level5 - 2dBm * - [34, 43]: level5 - 4.5dBm * - [28, 33]: level5 - 6dBm * - [20, 27]: level5 - 8dBm * - [8, 19]: level5 - 11dBm * - [-128, 7]: level5 - 14dBm esp_err_t esp_wifi_set_ant_gpio(const wifi_ant_gpio_config_t *config); /** * @brief Set primary/secondary channel of ESP32 * * @attention 1. This API should be called after esp_wifi_start() * @attention 2. When ESP32 is in STA mode, this API should not be called when STA is scanning or connecting to an external AP * @attention 3. When ESP32 is in softAP mode, this API should not be called when softAP has connected to external STAs * @attention 4. When ESP32 is in STA+softAP mode, this API should not be called when in the scenarios described above * * @param primary for HT20, primary is the channel number, for HT40, primary is the primary channel * @param second for HT20, second is ignored, for HT40, second is the second channel * * @return * - ESP_OK: succeed * - ESP_ERR_WIFI_NOT_INIT: WiFi is not initialized by esp_wifi_init * - ESP_ERR_WIFI_IF: invalid interface * - ESP_ERR_INVALID_ARG: invalid argument */ esp_err_t esp_wifi_set_channel(uint8_t primary, wifi_second_chan_t second); /** * @brief configure country info * * @attention 1. It is discouraged to call this API since this doesn't validate the per-country rules, * it's up to the user to fill in all fields according to local regulations. * Please use esp_wifi_set_country_code instead. * @attention 2. The default country is CHINA {.cc="CN", .schan=1, .nchan=13, policy=WIFI_COUNTRY_POLICY_AUTO} * @attention 3. When the country policy is WIFI_COUNTRY_POLICY_AUTO, the country info of the AP to which * the station is connected is used. E.g. if the configured country info is {.cc="USA", .schan=1, .nchan=11} * and the country info of the AP to which the station is connected is {.cc="JP", .schan=1, .nchan=14} * then the country info that will be used is {.cc="JP", .schan=1, .nchan=14}. If the station disconnected * from the AP the country info is set back to the country info of the station automatically, * {.cc="US", .schan=1, .nchan=11} in the example. * @attention 4. When the country policy is WIFI_COUNTRY_POLICY_MANUAL, then the configured country info is used always. * @attention 5. When the country info is changed because of configuration or because the station connects to a different * external AP, the country IE in probe response/beacon of the soft-AP is also changed. * @attention 6. The country configuration is stored into flash. * @attention 7. When this API is called, the PHY init data will switch to the PHY init data type corresponding to the * country info. * * @param country the configured country info * * @return * - ESP_OK: succeed * - ESP_ERR_WIFI_NOT_INIT: WiFi is not initialized by esp_wifi_init * - ESP_ERR_INVALID_ARG: invalid argument */ esp_err_t esp_wifi_set_country(const wifi_country_t *country); /** * @brief Set maximum transmitting power after WiFi start. * * @attention 1. Maximum power before wifi startup is limited by PHY init data bin. * @attention 2. The value set by this API will be mapped to the max_tx_power of the structure wifi_country_t variable. * @attention 3. Mapping Table {Power, max_tx_power} = {{8, 2}, {20, 5}, {28, 7}, {34, 8}, {44, 11}, * {52, 13}, {56, 14}, {60, 15}, {66, 16}, {72, 18}, {80, 20}}. * @attention 4. Param power unit is 0.25dBm, range is [8, 84] corresponding to 2dBm - 20dBm. * @attention 5. Relationship between set value and actual value. As follows: {set value range, actual value} = {{[8, 19],8}, {[20, 27],20}, {[28, 33],28}, {[34, 43],34}, {[44, 51],44}, {[52, 55],52}, {[56, 59],56}, {[60, 65],60}, {[66, 71],66}, {[72, 79],72}, {[80, 84],80}}. * * @param power Maximum WiFi transmitting power. * * @return * - ESP_OK: succeed * - ESP_ERR_WIFI_NOT_INIT: WiFi is not initialized by esp_wifi_init * - ESP_ERR_WIFI_NOT_START: WiFi is not started by esp_wifi_start * - ESP_ERR_WIFI_ARG: invalid argument, e.g. parameter is out of range */ esp_err_t esp_wifi_set_max_tx_power(int8_t power); /** * @brief Get the TSF time * In Station mode or SoftAP+Station mode if station is not connected or station doesn't receive at least * one beacon after connected, will return 0 * * @attention Enabling power save may cause the return value inaccurate, except WiFi modem sleep * * @param interface The interface whose tsf_time is to be retrieved. * * @return 0 or the TSF time */ int64_t esp_wifi_get_tsf_time(wifi_interface_t interface); /** * @brief Set the inactive time of the ESP32 STA or AP * * @attention 1. For Station, If the station does not receive a beacon frame from the connected SoftAP during the inactive time, * disconnect from SoftAP. Default 6s. * @attention 2. For SoftAP, If the softAP doesn't receive any data from the connected STA during inactive time, * the softAP will force deauth the STA. Default is 300s. * @attention 3. The inactive time configuration is not stored into flash * * @param ifx interface to be configured. * @param sec Inactive time. Unit seconds. * * @return * - ESP_OK: succeed * - ESP_ERR_WIFI_NOT_INIT: WiFi is not initialized by esp_wifi_init * - ESP_ERR_WIFI_NOT_STARTED: WiFi is not started by esp_wifi_start * - ESP_ERR_WIFI_ARG: invalid argument, For Station, if sec is less than 3. For SoftAP, if sec is less than 10. */ esp_err_t esp_wifi_set_inactive_time(wifi_interface_t ifx, uint16_t sec); /** * @brief Enable or disable 11b rate of specified interface * * @attention 1. This API should be called after esp_wifi_init() and before esp_wifi_start(). * @attention 2. Only when really need to disable 11b rate call this API otherwise don't call this. * * @param ifx Interface to be configured. * @param disable true means disable 11b rate while false means enable 11b rate. * * @return * - ESP_OK: succeed * - others: failed */ esp_err_t esp_wifi_config_11b_rate(wifi_interface_t ifx, bool disable); /** * @brief Config ESPNOW rate of specified interface * * @attention 1. This API should be called after esp_wifi_init() and before esp_wifi_start(). * * @param ifx Interface to be configured. * @param rate Phy rate to be configured. * * @return * - ESP_OK: succeed * - others: failed */ esp_err_t esp_wifi_config_espnow_rate(wifi_interface_t ifx, wifi_phy_rate_t rate); /** * @brief Set interval for station to wake up periodically at disconnected. * * @attention 1. Only when ESP_WIFI_STA_DISCONNECTED_PM_ENABLE is enabled, this configuration could work * @attention 2. This configuration only work for station mode and disconnected status * @attention 3. This configuration would influence nothing until some module configure wake_window * @attention 4. A sensible interval which is not too small is recommended (e.g. 100ms) * * @param interval how much micriosecond would the chip wake up, from 1 to 65535. */ esp_err_t esp_wifi_set_connectionless_wake_interval(uint16_t interval); ** * @brief WiFi PHY rate encodings * */ typedef enum { WIFI_PHY_RATE_1M_L = 0x00, /**< 1 Mbps with long preamble */ WIFI_PHY_RATE_2M_L = 0x01, /**< 2 Mbps with long preamble */ WIFI_PHY_RATE_5M_L = 0x02, /**< 5.5 Mbps with long preamble */ WIFI_PHY_RATE_11M_L = 0x03, /**< 11 Mbps with long preamble */ WIFI_PHY_RATE_2M_S = 0x05, /**< 2 Mbps with short preamble */ WIFI_PHY_RATE_5M_S = 0x06, /**< 5.5 Mbps with short preamble */ WIFI_PHY_RATE_11M_S = 0x07, /**< 11 Mbps with short preamble */ WIFI_PHY_RATE_48M = 0x08, /**< 48 Mbps */ WIFI_PHY_RATE_24M = 0x09, /**< 24 Mbps */ WIFI_PHY_RATE_12M = 0x0A, /**< 12 Mbps */ WIFI_PHY_RATE_6M = 0x0B, /**< 6 Mbps */ WIFI_PHY_RATE_54M = 0x0C, /**< 54 Mbps */ WIFI_PHY_RATE_36M = 0x0D, /**< 36 Mbps */ WIFI_PHY_RATE_18M = 0x0E, /**< 18 Mbps */ WIFI_PHY_RATE_9M = 0x0F, /**< 9 Mbps */ WIFI_PHY_RATE_MCS0_LGI = 0x10, /**< MCS0 with long GI, 6.5 Mbps for 20MHz, 13.5 Mbps for 40MHz */ WIFI_PHY_RATE_MCS1_LGI = 0x11, /**< MCS1 with long GI, 13 Mbps for 20MHz, 27 Mbps for 40MHz */ WIFI_PHY_RATE_MCS2_LGI = 0x12, /**< MCS2 with long GI, 19.5 Mbps for 20MHz, 40.5 Mbps for 40MHz */ WIFI_PHY_RATE_MCS3_LGI = 0x13, /**< MCS3 with long GI, 26 Mbps for 20MHz, 54 Mbps for 40MHz */ WIFI_PHY_RATE_MCS4_LGI = 0x14, /**< MCS4 with long GI, 39 Mbps for 20MHz, 81 Mbps for 40MHz */ WIFI_PHY_RATE_MCS5_LGI = 0x15, /**< MCS5 with long GI, 52 Mbps for 20MHz, 108 Mbps for 40MHz */ WIFI_PHY_RATE_MCS6_LGI = 0x16, /**< MCS6 with long GI, 58.5 Mbps for 20MHz, 121.5 Mbps for 40MHz */ WIFI_PHY_RATE_MCS7_LGI = 0x17, /**< MCS7 with long GI, 65 Mbps for 20MHz, 135 Mbps for 40MHz */ WIFI_PHY_RATE_MCS0_SGI = 0x18, /**< MCS0 with short GI, 7.2 Mbps for 20MHz, 15 Mbps for 40MHz */ WIFI_PHY_RATE_MCS1_SGI = 0x19, /**< MCS1 with short GI, 14.4 Mbps for 20MHz, 30 Mbps for 40MHz */ WIFI_PHY_RATE_MCS2_SGI = 0x1A, /**< MCS2 with short GI, 21.7 Mbps for 20MHz, 45 Mbps for 40MHz */ WIFI_PHY_RATE_MCS3_SGI = 0x1B, /**< MCS3 with short GI, 28.9 Mbps for 20MHz, 60 Mbps for 40MHz */ WIFI_PHY_RATE_MCS4_SGI = 0x1C, /**< MCS4 with short GI, 43.3 Mbps for 20MHz, 90 Mbps for 40MHz */ WIFI_PHY_RATE_MCS5_SGI = 0x1D, /**< MCS5 with short GI, 57.8 Mbps for 20MHz, 120 Mbps for 40MHz */ WIFI_PHY_RATE_MCS6_SGI = 0x1E, /**< MCS6 with short GI, 65 Mbps for 20MHz, 135 Mbps for 40MHz */ WIFI_PHY_RATE_MCS7_SGI = 0x1F, /**< MCS7 with short GI, 72.2 Mbps for 20MHz, 150 Mbps for 40MHz */ WIFI_PHY_RATE_LORA_250K = 0x29, /**< 250 Kbps */ WIFI_PHY_RATE_LORA_500K = 0x2A, /**< 500 Kbps */ WIFI_PHY_RATE_MAX, } wifi_phy_rate_t; /** Argument structure for WIFI_EVENT_FTM_REPORT event */ typedef struct { uint8_t peer_mac[6]; /**< MAC address of the FTM Peer */ wifi_ftm_status_t status; /**< Status of the FTM operation */ uint32_t rtt_raw; /**< Raw average Round-Trip-Time with peer in Nano-Seconds */ uint32_t rtt_est; /**< Estimated Round-Trip-Time with peer in Nano-Seconds */ uint32_t dist_est; /**< Estimated one-way distance in Centi-Meters */ wifi_ftm_report_entry_t *ftm_report_data; /**< Pointer to FTM Report with multiple entries, should be freed after use */ uint8_t ftm_report_num_entries; /**< Number of entries in the FTM Report data */ } wifi_event_ftm_report_t;
余談
50kHz~6.3GHzまで測定できるLiteVNAが約1万円とコストパフォーマンスが良すぎる! しかも0.5ppmの周波数精度。 LiteVNA が届く - ぱなりラボラトリー通信
ESP32と同軸切替器によるリレーアンテナが凄くいい。 ESP32/8266 を使った WiFi 制御 同軸切替器 3 - ぱなりラボラトリー通信
ESP32 Wi-Fi Multiple Antennas Configuration
チャネル1~13の中からプライマリチャネルとセカンダリチャネルを選択できる
WiFiチャネル情報(CSI)をIQデータとして取得でき、STBC(Space Time Block Coding)された信号を受信できる。 ESP32は1アンテナのため、STBC送信は出来ない。 送信ダイバーシティについては、 送信ダイバーシティ - やわらじ ~Yawaraka Radio~ に記載する。
送信ダイバーシティ
送信ダイバーシティ
WiFiやLTE/5G等に広く利用されている送信ダイバーシティ技術を概説する。
参考論文
CSD/CDD (Cyclic Shift Diversity, Cyclic Delay Diversity )
CSD/CDDは、1受信/n送信の場合に効果があるダイバーシティである。 原理として、送信アンテナそれぞれに対して任意の遅延を加える事により受信側で同位相合成する事で受信SNを向上する手法となる。 但し、チャネルが既知である事が前提となるため、TDD等の時分割復信において受信側からの信号から推定したチャネル情報を利用し、各送信アンテナへ重みをかけて送信する必要がある。WiFiやTD-LTEで利用されている方式となる。 尚、遅延量はシンボル間干渉を起さない程度の遅延とする必要がある。
Alamouti STBC
STBCは http://www.radio3.ee.uec.ac.jp/D_ronbun/sasaki@.pdf 3.3に詳しい。
参考
- 送信ダイバーシティはCDD(Cyclic Delay Diversity,=Cyclic Shift Diversity )が2000年に特許出願され11aと11gに導入され、次いでSTBCが11nに導入された。
- 過度の符号間干渉(ISI)を引き起こさないように、ガードインターバル(GI)の制限内に収まるように選択される。
STBC
M5StackとSIM7080GでHTTP通信
ATコマンドで通信
LTE CAT-M接続とPing
SIMCOM社のSIM7080Gでさくらセキュアモバイルの通信テスト | Next Step SIM7080G Cat-M/NB-IoT HAT - Waveshare Wiki
の記事を参考とさせて頂きました。
MQTT通信
次回記載します。
TCPとHTTP通信
TCP通信のATコマンドは TCP/IP testing with Simcom SIM7070/SIM7080 Modules | M2MSupport.net のソースを参考とした。
大まかに下記を行う。
HTTP通信を行うATコマンドを記載しておく。
直接HTTP通信
M5Stack UnitCatM を Seeeduino XIAO で制御 - IoT - HomeMadeGarbage 様が参考になります。
ATコマンド一覧
AT+CPSI Inquiring UE System Information
+CPSI: Systemmode,OperationMode,MCC-MNC,TAC,SCellID,PCellID,FrequencyBand,earfcn,dlbw,ulbw,RSRQ,RSRP,RSSI,RSSNR //一例 +CPSI: LTE CAT-M1,Online,440-10,0x9000,152121616,78,EUTRAN-BAND1,276,4,4,-15,-109,-80,10
Power Saving Mode
マシンコム端末向けに消費電力を低減する技術としてPSM(Power Saving Mode)がRelease 12仕様で策定された。PSMは、間欠受信を行わず、無線の機能をほぼOFFにすることで消費電力を大幅に削減できる。一方で、端末向けの着信は周期的に行われる位置登録の契機(通常54分)でしか行えないという課題があった。そこで、着信間隔を短くすることも実現する技術として、待受け中の間欠受信周期を既存の最大2.56秒よりさらに大きくし、最大43分の間欠受信周期を設定できるextended DRX(Discontinuous Reception)※10が策定された。 3.1 新サービス創造のための新技術 | 企業情報 | NTTドコモ
間欠受信はAT+CPSMS (Power Saving Mode Setting) で行える。 詳しい設定方法は次回調査する。
Extender DRX
無線品質
低SNR
RSRP-99dBmだが、SNRが4dB(12*2 - 20)とかなり低い。 環境雑音が高い、またはモジュールの内部雑音が高いせいか? 後者だと問題。
+CPSI: LTE CAT-M1,Online,440-10,0x176F,43981314,152,EUTRAN-BAND1,276,4,4,-10,-99,-75,12
M5Stack Howto
UiFLOW
micropython modules
UiFLOWを書き込んだM5StickCの画面からuser appモードにして、シリアルからhelp('modules') を実行。
M5StickC
>>> help('modules') IoTcloud/AWS hats/_servos math units/_dds IoTcloud/Ali hats/_speaker max30100 units/_dual_button IoTcloud/Azure hats/_tof menu/__init__ units/_earth IoTcloud/Tencent hats/_yun menu/app units/_env IoTcloud/__init__ hmac menu/cloud units/_env2 IoTcloud/blynk i2c_bus menu/setup units/_env3 MediaTrans/TimerCam inisetup menu/startup units/_ext_io MediaTrans/__init__ libs/__init__ menu/wifi units/_fader MicroWebSrv/__init__ libs/bmm150 micropython units/_fan MicroWebSrv/microWebSocket libs/bmp280 neopixel units/_finger MicroWebSrv/microWebSrv libs/config network units/_gesture MicroWebSrv/microWebTemplate libs/dht12 ntptime units/_gps ThirdParty/myCobot/myCobotPro libs/easyIO ntptime units/_hall __main__ libs/echo simpleOTA units/_heart _boot libs/emoji sys units/_imu6886 _flow libs/imu uarray units/_ir _onewire libs/ir/ir_rx/__init__ ubinascii units/_joystick _thread libs/ir/ir_rx/nec ucollections units/_laserrx _uasyncio libs/ir/ir_rx/print_error ucryptolib units/_lasertx _webrepl libs/ir/ir_tx/__init__ uctypes units/_lcd apa106 libs/ir/ir_tx/nec uerrno units/_light base64 libs/m5mqtt uhashlib units/_makey btree libs/microcoapy/__init__ uhashlib units/_mqtt_eth builtins libs/microcoapy/coap_macros uheapq units/_ncir cmath libs/microcoapy/coap_option uiflow units/_oled collections/__init__ libs/microcoapy/coap_packet uio units/_op collections/defaultdict libs/microcoapy/coap_reader ujson units/_pahub collections/deque libs/microcoapy/coap_writer umqtt/__init__ units/_pbhub deviceCfg libs/microcoapy/microcoapy umqtt/robust units/_pir display libs/mlx90640 umqtt/simple units/_relay esp libs/modbus/__init__ unit units/_relay4 esp32 libs/modbus/master/__init__ units/VFunction/__init__ units/_rfid espnow libs/modbus/master/uModBusConst units/VFunction/_apriltag_code units/_rgb flashbdev libs/modbus/master/uModBusFunctions units/VFunction/_bar_code units/_rgb_multi flow/__init__ libs/modbus/master/uModBusSerial units/VFunction/_color_track units/_rotary_encoder flow/adaptation libs/modbus/master/uModBusTCP units/VFunction/_dm_code units/_servo flow/ezdata libs/modbus/slave/__init__ units/VFunction/_face_detect units/_thermal flow/flowDeinit libs/modbus/slave/exceptions units/VFunction/_jpeg_transfer units/_tof flow/m5cloud libs/modbus/slave/functions units/VFunction/_line_tracker units/_tracker flow/m5ucloud libs/modbus/slave/redundancy_check units/VFunction/_motion units/_tvoc flow/protocol libs/modbus/slave/route units/VFunction/_qr_code units/_uhf_rfid framebuf libs/modbus/slave/rtu units/VFunction/_tag_reader units/_ultrasonic gc libs/modbus/slave/utils units/VFunction/_target_track units/_uwb hardware/__init__ libs/mstate units/VFunction/_v2_code_detector units/_v_function hardware/_led libs/numbers units/VFunction/_v2_color_tracker units/_vibrator hardware/axp192 libs/nvs units/VFunction/_v2_face_detector units/_vmeter hardware/bm8563 libs/paj7620u2 units/VFunction/_v2_face_recognition units/_watering hardware/button libs/pca9685 units/VFunction/_v2_lane_line_tracker units/_weight hardware/mpu6050 libs/pid units/VFunction/_v2_motion_tracker uos hardware/sh200q libs/power units/VFunction/_v2_object_recognition urandom hardware/speaker libs/qmp6988 units/VFunction/_v2_online_classifier ure hat libs/servo units/VFunction/_v2_shape_detector urllib/parse hats/_RS485 libs/sh1107 units/VFunction/_v2_target_tracker urllib/urequest hats/_adc libs/sh200q units/_ID uselect hats/_beetlec libs/sht30 units/_IR_NEC usocket hats/_bugc libs/simcom/__init__ units/_ISORS485 ussl hats/_cardKB libs/simcom/common units/_LoRaWAN ustruct hats/_dac libs/simcom/gps units/_NBIoT utils hats/_env libs/simcom/gsm units/_RS485 utime hats/_env2 libs/simcom/lte units/_RTC8563 utimeq hats/_env3 libs/simcom/nb units/_accel uwebsocket hats/_finger libs/speak units/_acsocket uzlib hats/_joyC libs/timeSchedule units/_adc vl53l0x hats/_joystick libs/time_ex units/_ameter warnings hats/_ncir libs/urequests units/_angle wav/chunk hats/_pir libs/vl53l0x units/_bps wav/wav_player hats/_powerc m5stack units/_button wav/wave hats/_puppy m5uart units/_cardKB wifiCfg hats/_roverc m5ui units/_color wifiWebCfg hats/_servo machine units/_dac
M5Tough
>>> help('modules') IoTcloud/AWS inisetup micropython units/_ameter IoTcloud/Ali libs/__init__ module units/_angle IoTcloud/Azure libs/bmm150 modules/_baseX units/_bps IoTcloud/Tencent libs/bmp280 modules/_cellular units/_button IoTcloud/__init__ libs/config modules/_goPlus units/_cardKB IoTcloud/blynk libs/dht12 modules/_goPlus2 units/_color MediaTrans/AudioPlay libs/easyIO modules/_gps units/_dac MediaTrans/MicRecord libs/echo modules/_grbl units/_dds MediaTrans/TimerCam libs/emoji modules/_lego units/_dual_button MediaTrans/__init__ libs/imu modules/_legoBoard units/_earth MicroWebSrv/__init__ libs/ir/ir_rx/__init__ modules/_lidarBot units/_env MicroWebSrv/microWebSocket libs/ir/ir_rx/nec modules/_lorawan_network units/_env2 MicroWebSrv/microWebSrv libs/ir/ir_rx/print_error modules/_lorawan_p2p units/_env3 MicroWebSrv/microWebTemplate libs/ir/ir_tx/__init__ modules/_m5bala units/_ext_io __main__ libs/ir/ir_tx/nec modules/_plus units/_fader _boot libs/m5mqtt modules/_pm25 units/_fan _flow libs/microcoapy/__init__ modules/_rotaryencoder units/_finger _onewire libs/microcoapy/coap_macros modules/_servo units/_gesture _thread libs/microcoapy/coap_option modules/_servo2 units/_gps _uasyncio libs/microcoapy/coap_packet modules/_stepMotor units/_hall _webrepl libs/microcoapy/coap_reader modules/_stepMotorDriver units/_heart apa106 libs/microcoapy/coap_writer neopixel units/_imu6886 base64 libs/microcoapy/microcoapy network units/_ir ble/Blynk/BlynkLib libs/mlx90640 ntptime units/_joystick ble/Blynk/__init__ libs/modbus/__init__ ntptime units/_laserrx ble/Blynk/blynkBLE libs/modbus/master/__init__ rtch units/_lasertx ble/__init__ libs/modbus/master/uModBusConst simpleOTA units/_lcd ble/ble_advertising libs/modbus/master/uModBusFunctions sys units/_light ble/ble_uart libs/modbus/master/uModBusSerial uarray units/_makey ble/blynk libs/modbus/master/uModBusTCP ubinascii units/_mqtt_eth btree libs/modbus/slave/__init__ ubluetooth units/_ncir builtins libs/modbus/slave/exceptions ucollections units/_oled cmath libs/modbus/slave/functions ucryptolib units/_op collections/__init__ libs/modbus/slave/redundancy_check uctypes units/_pahub collections/defaultdict libs/modbus/slave/route uerrno units/_pbhub collections/deque libs/modbus/slave/rtu uhashlib units/_pir comx/LoRaWAN libs/modbus/slave/utils uhashlib units/_relay comx/__init__ libs/mpu6050 uheapq units/_relay4 comx/lte libs/mstate uiflow units/_rfid comx/nbiot libs/numbers uio units/_rgb comx/sim7600 libs/nvs ujson units/_rgb_multi comx/sim7600c1 libs/paj7620u2 umqtt/__init__ units/_rotary_encoder comx/simcom_common libs/pca9685 umqtt/robust units/_servo deviceCfg libs/pid umqtt/simple units/_thermal display libs/qmp6988 unit units/_tof esp libs/servo units/VFunction/__init__ units/_tracker esp32 libs/sh1107 units/VFunction/_apriltag_code units/_tvoc espidf libs/sh200q units/VFunction/_bar_code units/_uhf_rfid espnow libs/sht30 units/VFunction/_color_track units/_ultrasonic face libs/simcom/__init__ units/VFunction/_dm_code units/_uwb faces/_calc libs/simcom/common units/VFunction/_face_detect units/_v_function faces/_encode libs/simcom/gps units/VFunction/_jpeg_transfer units/_vibrator faces/_finger libs/simcom/gsm units/VFunction/_line_tracker units/_vmeter faces/_gameboy libs/simcom/lte units/VFunction/_motion units/_watering faces/_joystick libs/simcom/nb units/VFunction/_qr_code units/_weight faces/_keyboard libs/timeSchedule units/VFunction/_tag_reader uos faces/_rfid libs/time_ex units/VFunction/_target_track urandom flashbdev libs/timezone units/VFunction/_v2_code_detector ure flow/__init__ libs/urequests units/VFunction/_v2_color_tracker urllib/parse flow/adaptation libs/vl53l0x units/VFunction/_v2_face_detector urllib/urequest flow/ezdata lodepng units/VFunction/_v2_face_recognition uselect flow/flowDeinit lvesp32 units/VFunction/_v2_lane_line_tracker usocket flow/m5cloud lvgl units/VFunction/_v2_motion_tracker ussl flow/m5ucloud m5stack units/VFunction/_v2_object_recognition ustruct flow/protocol m5stack_ui units/VFunction/_v2_online_classifier utils framebuf m5uart units/VFunction/_v2_shape_detector utime fs_driver m5ui units/VFunction/_v2_target_tracker utimeq gc machine units/_ID uwebsocket hardware/__init__ math units/_IR_NEC uzlib hardware/axp192 max30100 units/_ISORS485 warnings hardware/bm8563 menu/__init__ units/_LoRaWAN wav/chunk hardware/button menu/app units/_NBIoT wav/wav_player hardware/microphone menu/cloud units/_RS485 wav/wave hardware/speaker menu/setup units/_RTC8563 wifiCfg hmac menu/startup units/_accel wifiWebCfg i2c_bus menu/ucloud units/_acsocket imagetools menu/wifi units/_adc
SIM7080GのAPN設定
更新日 2011/11/13
概要
M5Stack社のCAT-Mモジュール「SIM 7080G」を購入したのでAPN設定を行い、UI FLOWからHTTP通信できるか確認する。 結果、APN設定はできたが、UIFLOWのUnitではHTTP通信できない。 UiFLOWでCAT-M Unitが実装されていないため
試験系
SIM7080G --- USBシリアル変換 --- PC
条件
APN:iijmio
主要設定
AT+CGDCONT=1,"IP","iijmio.jp" AT+CNCFG=1,1,"iijmio.jp","mio@iij","iij",3 AT+COPS=1,2,"44010" AT+CGAUTH=1,3,"iij","mio@iij" AT+SNPING4="google.com",3,16,1000 AT+CNACT=0,1 //3行目以降は不要?
所感
CAT-M Unitが実装されるとHTTPもできるか? とりあえずMQTTかCoAPサーバーを立てて通信してみたい。
CoAPはRFC 7252で上がっている、UDPを使ったM2M向けのプロトコルです。マイコンのような低消費電力、ROM/RAMの容量をターゲットにしています。 IoT向けプロトコル(?)〜MQTT/CoAP / 開発者向けブログ・イベント | GMO Developers
参考
https://qiita.com/kaz19610303/items/83f2b722fc1264888fab https://qiita.com/kkkrikurikun/items/de29f383c886ab39234e https://www.iijmio.jp/hdd/guide/apn.html https://homemadegarbage.com/catm04 https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/unit/sim7080g/en/SIM7070_SIM7080_SIM7090%20Series_AT%20Command%20Manual_V1.04.pdf