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ありで消費電力を最小にするには、

  1. ESP32 80MHz(無線利用) で15.4mA
  2. 画面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;

余談

送信ダイバーシティ

送信ダイバーシティ

WiFiLTE/5G等に広く利用されている送信ダイバーシティ技術を概説する。

参考論文

Comparative Study of Open-loop Transmit Diversity Schemes for Four Transmit Antennas in Coded OFDM Systems

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

WiFiの新しい道

気になる会社(下記) が目に留まり、Mesh WiFi Networkを追憶していた。
どこでもWi-Fi化 置くだけ基地局で簡単拡張! | 古川 浩 | TEDxFukuoka - YouTube

思い出せるWiFiの狙いは3つ。

  1. ESP32の独自規格である802.11 LR
  2. ESP-Mesh によるメッシュネットワーク
  3. 干渉除去による全二重WiFi通信

Pixel3aもESP32と同様なSoftAP(親機 兼 子機)が使えるため、スマートフォンを繋ぎMesh化する事もできる。 チャネルは制御プロトコルで各機器毎に設定し、同一干渉は勿論、近接機器ではチャネル間隔を離すのだ。

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 のソースを参考とした。

大まかに下記を行う。

  1. TCP接続
  2. HTTP GETコマンドを送信
  3. HTTP結果を受け取り
  4. TCPをクローズする

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

f:id:jijiken0417:20211128215522p:plain

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) で行える。 詳しい設定方法は次回調査する。

f:id:jijiken0417:20211128214924p:plain https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/unit/sim7080g/en/SIM7070_SIM7080_SIM7090%20Series_AT%20Command%20Manual_V1.04.pdf

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