diff --git a/V1.5/STM32F103_App1.zip b/V1.5/STM32F103_App1.zip new file mode 100644 index 0000000..6913549 Binary files /dev/null and b/V1.5/STM32F103_App1.zip differ diff --git a/V1.5/STM32F103_App1/HardWare/CAR/air780e.c b/V1.5/STM32F103_App1/HardWare/CAR/air780e.c index 25ce6cd..0bd4a63 100644 --- a/V1.5/STM32F103_App1/HardWare/CAR/air780e.c +++ b/V1.5/STM32F103_App1/HardWare/CAR/air780e.c @@ -228,6 +228,8 @@ static int cat_wait_cgatt_attached(int max_wait_s) { #define CAT_BAUD_TARGET 921600u #define CAT_BAUD_DEFAULT 115200u +static char s_iccid[24] = {0}; /* SIM 卡号,MQTT OK 后上报平台 */ + static int cat_connect_network(void) { log_info("> 4G: 网络..."); g_net_ui_phase = NET_UI_4G_AT; @@ -284,6 +286,24 @@ static int cat_connect_network(void) { return -1; } + /* 读取 SIM 卡号 ICCID(物联网卡套餐管理:平台可查卡号缴费) */ + { + s_iccid[0] = 0; + if (catSendCmd("AT+ICCID", "+ICCID:", 1, 10) == 0) { + char *p = strstr((char *)U2_CopyBuff, "+ICCID:"); + if (p) { + p += 7; + while (*p == ' ') p++; + int n = 0; + while (p[n] >= '0' && p[n] <= '9' && n < 20) n++; + memcpy(s_iccid, p, n); + s_iccid[n] = 0; + } + } + if (s_iccid[0]) log_info("> 4G: ICCID %s", s_iccid); + else log_warn("> 4G: ICCID 读取失败"); + } + if (cat_wait_cgatt_attached(30) != 0) return -1; /* 信号质量检测:AT+CSQ → +CSQ: rssi,ber(rssi 0~31,99=未知/无信号)。 @@ -761,6 +781,11 @@ void air780e_init(void) { sprintf(pub, "AT+MPUB=\"/iot/data/up/%s\",0,0,\"{\\22header\\22:\\22iot.prop.post\\22,\\22body\\22:{\\22pow\\22:1}}\"", MqttInfoStr.ClientID); CAT1_printf("%s", pub); HAL_Delay(50); + if (s_iccid[0]) { + sprintf(pub, "AT+MPUB=\"/iot/data/up/%s\",0,0,\"{\\22header\\22:\\22iot.prop.post\\22,\\22body\\22:{\\22iccid\\22:\\22%s\\22}}\"", MqttInfoStr.ClientID, s_iccid); + CAT1_printf("%s", pub); + HAL_Delay(50); + } return; } log_warn("> 4G: MQTT 失败,重试 %d", retry); diff --git a/V1.5/STM32F103_App1/HardWare/WIFI/esp8266.h b/V1.5/STM32F103_App1/HardWare/WIFI/esp8266.h index 580ba93..73dae13 100644 --- a/V1.5/STM32F103_App1/HardWare/WIFI/esp8266.h +++ b/V1.5/STM32F103_App1/HardWare/WIFI/esp8266.h @@ -6,8 +6,12 @@ /*===== 用户配置区 =====*/ /* 固定 WiFi 凭据:优先尝试连接的热点;连不上(60s)则进 Smart Config 智能配网 */ -#define WIFI_SSID "TP_Link-02" /* TODO: 填入固定 WiFi 名称 */ -#define WIFI_PASS "zxcvbnmm112" /* TODO: 填入固定 WiFi 密码 */ +#define WIFI_SSID "OrayBox-6B0E" /* TODO: 填入固定 WiFi 名称 */ +#define WIFI_PASS "nky20192006" /* TODO: 填入固定 WiFi 密码 */ + + +//#define WIFI_SSID "TP_Link-01" /* TODO: 填入固定 WiFi 名称 */ +//#define WIFI_PASS "zxcvbnmm112" /* TODO: 填入固定 WiFi 密码 */ //#define WIFI_SSID "TP_Link" /* TODO: 填入固定 WiFi 名称 */ //#define WIFI_PASS "zxcvbnm888" /* TODO: 填入固定 WiFi 密码 */ diff --git a/V1.5/STM32F103_App1/README.md b/V1.5/STM32F103_App1/README.md index b9d3926..087918c 100644 --- a/V1.5/STM32F103_App1/README.md +++ b/V1.5/STM32F103_App1/README.md @@ -337,7 +337,8 @@ W25Q64 澶栭儴 Flash锛8MB锛夛細 | `sw1` / `feeding` | 绗竴璺户鐢靛櫒鐘舵 | 1=鎶曞杺涓紝0=鍋滄锛涙棤绉ゆā寮忎笅涓ゅ瓧娈**鍚屾椂涓婃姤**锛屽钩鍙颁袱涓紑鍏冲悓姝ュ埛鏂 | | `sw2~sw4` | 澶囩敤缁х數鍣ㄧ姸鎬 | 0/1 | | `pow` | 鐢甸噺鐘舵 | 1=姝e父锛0=浣庣數閲 | -| `energy` | 绱娑堣楃數閲 | HLW8032 璁¢噺锛屽崟浣 kWh锛屼袱浣嶅皬鏁帮紝鑱旂綉鍚庢瘡鍒嗛挓涓婃姤 | +| `energy` | 绱娑堣楃數閲 | HLW8032 璁¢噺锛屽崟浣 kWh锛屼袱浣嶅皬鏁帮紙>10W 姣 30s锛屽惁鍒欓娆+寮鍏冲垏鎹級 | +| `iccid` | SIM 鍗″彿 | 浠 4G 閫氶亾锛孧QTT 杩炰笂鍚庨殢 pow 涓婃姤涓娆★紝鐢ㄤ簬鐗╄仈缃戝崱濂楅鏌ヨ缂磋垂 | | `GPS` | 瀹氫綅鍧愭爣 | 浠 4G 閫氶亾(Air780EG)锛孏CJ-02 楂樺痉鍧愭爣绯伙紝鏍煎紡 `"缁忓害,绾害"`锛屾瘡 5 鍒嗛挓涓婃姤 | > 娉細`zero`锛堝墿浣欐枡閲嶏級涓 `onceWt` 涓虹О閲嶆ā寮忎笓鐢ㄥ瓧娈碘斺擿PRODUCT_WITH_FEED_SCALE=0` 鏃剁姸鎬佷笂鎶ヤ笉鎼哄甫杩欎袱涓瓧娈碉紝骞冲彴涓嬪彂璁剧疆浼氭敹鍒 `no scale on this device` 鎷掔粷搴旂瓟銆 diff --git a/V1.5/鐗堟湰璇存槑.md b/V1.5/鐗堟湰璇存槑.md index 5cb7036..1d8a42b 100644 --- a/V1.5/鐗堟湰璇存槑.md +++ b/V1.5/鐗堟湰璇存槑.md @@ -133,3 +133,5 @@ - 淇 4G MPUB 杞箟閿欒锛歚` 璇啓涓 C 鍏繘鍒 ``(=0x12 瀛楄妭)锛宔nergy/pow/鎸囦护搴旂瓟 鍏 8 澶勭嫭绔嬫姤鏂囧钩鍙版敹涓嶅埌锛堜笂鐢佃兘鏀跺埌鏄洜涓虹姸鎬佸ぇ鎶ユ枃杞箟鏈潵灏卞锛 - OLED 娆㈣繋椤垫寜浜у搧妯″紡鏄剧ず鏍囬锛涜繍琛屾椂闂存敼 澶:鏃:鍒 鏍煎紡 +- 鏂板 SIM 鍗″彿涓婃姤锛4G 鍒濆鍖 SIM 灏辩华鍚 AT+ICCID 璇诲崱鍙凤紝MQTT OK 鍚庨殢 pow 涓婃姤骞冲彴 + 锛堟爣璇嗙 iccid锛屽瓧绗︿覆锛涘钩鍙扮墿妯″瀷鍔犲瓧绗︿覆瀛楁鍗冲彲锛屼究浜庣墿鑱旂綉鍗″椁愬埌鏈熸煡璇㈢即璐癸級