diff --git a/docs/Advanced_development/en/HeliosService/HeliosService_1.md b/docs/Advanced_development/en/HeliosService/HeliosService_1.md index 912129f4172ce0c5251dda62420d4923247c8cdc..ff2421072a1127fc2ad1c7cdbd66ca308a97da82 100644 --- a/docs/Advanced_development/en/HeliosService/HeliosService_1.md +++ b/docs/Advanced_development/en/HeliosService/HeliosService_1.md @@ -161,11 +161,11 @@ All above directories and files can be downloaded into module via QPYcom. Once c No.1 Download the configured program in the next page, the advantage is that you can just download the script button if you want to download and debug again after importing the directory structure by one button control. -![t21fkamlv5](http://1.116.208.16/images/wiki/t21fkamlv5.gif) +![HeliosService_en_01](media\HeliosService_en_01.gif) No. 2 In file page, drag from the local file tree on the left to the module file tree on the right, then wait till the downloading is accomplished. The advantage is that it is simple and convenient to drag directly. -![ZLLVygvK5o](http://1.116.208.16/images/wiki/ZLLVygvK5o.gif) +![HeliosService_en_02](media\HeliosService_en_02.gif) > Above two schemes can be used to download structure code into module diff --git a/docs/Advanced_development/en/HeliosService/HeliosService_2.md b/docs/Advanced_development/en/HeliosService/HeliosService_2.md index 5956f73339ec5ca8159611a13ca0cb8fd97f820a..56e0b7835963a3fc0d7cc005aa0cf62370b06783 100644 --- a/docs/Advanced_development/en/HeliosService/HeliosService_2.md +++ b/docs/Advanced_development/en/HeliosService/HeliosService_2.md @@ -25,9 +25,7 @@ It is included and integrated with all services and configurations. In order to - Both ***sys*** and ***app*** represent partition to which service belongs. As for ***sys***, it is system level; while the ***app*** is user level. - We can call the container after succeeding to start. In addition, we can also check all services that have been started successfully. - - -![Helios Service2_01(E)](media\Helios Service2_01(E).png) + ![HeliosService_02_en_02](media\HeliosService_02_en_02.png) #### Network service @@ -36,13 +34,13 @@ It is included and integrated with all services and configurations. In order to - Obtain **sim**, **net** and **dataCall** object without importing - Subscribe network status -![Helios Service2_02(E)](media\Helios Service2_02(E).png) +![HeliosService_02_en_03](media\HeliosService_02_en_03.png) ##### Detect Network connection - It is available to check network status after starting up. For returned value, please refer to `HeliosService API document`. -![image-20210827101129580](media\HeliosService2_03.png) +![HeliosService_02_en_04](media\HeliosService_02_en_04.png) ##### Other functions @@ -56,13 +54,13 @@ Take the API document as a reference. - Output log - Set the output level of log +![HeliosService_02_en_05](media\HeliosService_02_en_05.png) +- Subscribe log -![Helios Service2_04(E)](media\Helios Service2_04(E).png) + ![HeliosService_02_en_06](media\HeliosService_02_en_06.png) -- Subscribe log -![Helios Service2_05(E)](media\Helios Service2_05(E).png) ##### Other functions @@ -79,7 +77,7 @@ Please refer to API document - Set mode - Set PA (Refer to API document) -![Helios Service2_06(E)](media\Helios Service2_06(E).png) +![HeliosService_02_en_07](media\HeliosService_02_en_07.png) ##### Other function @@ -94,7 +92,7 @@ Please scan over API document - Check whether the vote is 0; if it is, which means it can't enter sleep mode - However, every vote needs cancellation if you delete vote. -![Helios Service2_07(E)](media\Helios Service2_07(E).png) +![HeliosService_02_en_08](media\HeliosService_02_en_08.png) ##### Other functions @@ -107,25 +105,27 @@ Please check API-related document - Provide log to upload to Quectel Cloud - Upgrade **OTA** signal file -![Helios Service2_08(E)](media\Helios Service2_08(E).png) +![HeliosService_02_en_09](media\HeliosService_02_en_09.png) Build *config.json* of Cloud service, which is located in *app_config*. -![Helios Service_2_09(E)](media\Helios Service_2_09(E).png) The content of *config.json* of cloud service . +![HeliosService_02_en_10](media\HeliosService_02_en_10.png) + +The contents of the Cloud service config.json -![Helios Service2_10(E)](media\Helios Service2_10(E).png) +![HeliosService_02_en_11](media\HeliosService_02_en_11.png) Since the level is set at 3, it could not be used even if it is successfully created here, so we need reload service to enable automatic upgrade service. The original intention of the design is to make the startup level of some services lower, so that customers can change the startup sequence of the controller. -![image-20210827134636763](media\HeliosService2_11.png) +![HeliosService_02_en_12](media\HeliosService_02_en_12.png) -![Helios Service2_12(E) ](media\Helios Service2_12(E) .png) +![HeliosService_02_en_13](media\HeliosService_02_en_13.png) - Submit log -![Helios Service2_13(E)](media\Helios Service2_13(E).png) +![HeliosService_02_en_14](media\HeliosService_02_en_14.png) ##### Other functions @@ -140,7 +140,7 @@ Please check API document - Subscribe exception service - Publish exception -![Helios Service2_14(E)](media\Helios Service2_14(E).png) +![HeliosService_02_en_15](media\HeliosService_02_en_15.png) ### Third-party component @@ -155,7 +155,7 @@ Please check the API-related document - Subscribe topic function - Publish data -![HeliosSecvice2_15(E)](media\HeliosSecvice2_15(E).png) +![HeliosService_02_en_16](media\HeliosService_02_en_16.png) ### About cut diff --git a/docs/Advanced_development/en/HeliosService/HeliosService_3.md b/docs/Advanced_development/en/HeliosService/HeliosService_3.md index e04e040c3b85ce3c7da972de10b93f7f2725557a..0f30738fb556961ce709274494aafd2a597da461 100644 --- a/docs/Advanced_development/en/HeliosService/HeliosService_3.md +++ b/docs/Advanced_development/en/HeliosService/HeliosService_3.md @@ -18,7 +18,7 @@ In this document, it mainly introduces the SW design of Helios Services and func ### Structure design -![image-20210825131423890](media\HeliosService3_01.png) +![HeliosService_3_en_01](media\HeliosService_3_en_01.png) **Explanation** @@ -37,7 +37,7 @@ In this document, it mainly introduces the SW design of Helios Services and func #### Service design principle -![Helios Service3_02(E)](media\Helios Service3_02(E).png) +![HeliosService_3_en_02](media\HeliosService_3_en_02.png) 1. We have written and provided some services that specialised for system. As a result, the publisher of these services may come from the callback who can receive system low layer. Meanwhile, the user can publish it to different subscribers actively. 2. E. g. If the user just needs to subscribe network service, when the network signal is abnormal or bad, even worse, the network disconnects, the network will carry out automatic re-connection and notify all functions who have subscribed network service the current network status. Therefore, the subscriber will receive relevant info and handle it. @@ -63,13 +63,13 @@ In this document, it mainly introduces the SW design of Helios Services and func Subscribe service -![Helios Service3_03(E) ](media\Helios Service3_03(E) .png) +![HeliosService_3_en_03](media\HeliosService_3_en_03.png) #### The realisation principle of sys_bus -![Helios Service3_04(E)](media\Helios Service3_04(E).png) +![HeliosService_3_en_04](media\HeliosService_3_en_04.png) We have already provided above services to client and we also make our disadvantages clear. The user can't customize service. However, it is available for client to customize services via *sys_bus*. @@ -84,7 +84,7 @@ We have already provided above services to client and we also make our disadvant Case: -![Helios Service3_05(E)](media\Helios Service3_05(E).png) +![HeliosService_3_en_05](media\HeliosService_3_en_05.png) #### Design principle of monitor @@ -93,13 +93,13 @@ Case: **示例** E. g. -![QPYcom_T38gWTvOPr](media\HeliosService3_06.png) +![HeliosService_3_en_06](media\HeliosService_3_en_06.png) #### Design principle of config In order to facilitate the reading and setting of configured files, we put the configuration file into folder of *config* and set *config.json* file according to following specifications. -![Helios Service3_07(E)](media\Helios Service3_07(E).png) +![HeliosService_3_en_07](media\HeliosService_3_en_07.png) - **app_config** - The following corresponds to the configuration file configured by the user. As above figure implies, in *app_config*: @@ -109,9 +109,7 @@ In order to facilitate the reading and setting of configured files, we put the c **Case:** - - -![Helios Service3_08(E)](media\Helios Service3_08(E).png) +![HeliosService_3_en_08](media\HeliosService_3_en_08.png) - Following contents are included in *app_config*. - lexin @@ -128,9 +126,7 @@ In order to facilitate the reading and setting of configured files, we put the c The common queue serves as message communication. While after building queue, there will be congestion when obtaining data; however, it will be waken up when there exists data signal. - - -![Helios Service3_09(E)](media\Helios Service3_09(E).png) +![HeliosService_3_en_09](media\HeliosService_3_en_09.png) ### Third party and container design diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_02.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_02.png new file mode 100644 index 0000000000000000000000000000000000000000..1ee546f47ae49d76459a447242609b01129ff293 Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_02.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_03.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_03.png new file mode 100644 index 0000000000000000000000000000000000000000..98ce50181e1b5ef84b881b4fa54d6a1cc75c23e5 Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_03.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_04.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_04.png new file mode 100644 index 0000000000000000000000000000000000000000..5a4af4aa912faba3220652842af014674a1713d9 Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_04.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_05.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_05.png new file mode 100644 index 0000000000000000000000000000000000000000..a9192fe545faefad31537c6335857ef1ce05a79f Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_05.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_06.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_06.png new file mode 100644 index 0000000000000000000000000000000000000000..4520d55a254f26a642ab0289c20b680b38e322c7 Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_06.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_07.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_07.png new file mode 100644 index 0000000000000000000000000000000000000000..60d82606ba6544520c7eccda83ae84cc9bf8a789 Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_07.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_08.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_08.png new file mode 100644 index 0000000000000000000000000000000000000000..f1622bda02e1aca2a1864a4a4d60a3f798d5314f Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_08.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_09.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_09.png new file mode 100644 index 0000000000000000000000000000000000000000..cb0ad2f9af1ef4cfb0456d1733628ed8d58253df Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_09.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_10.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_10.png new file mode 100644 index 0000000000000000000000000000000000000000..d660fc1509e379a9d9f35087b6cb04f430eea64f Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_10.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_11.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_11.png new file mode 100644 index 0000000000000000000000000000000000000000..280149ebfac80c492c484e268e1331979ebb542b Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_11.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_12.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_12.png new file mode 100644 index 0000000000000000000000000000000000000000..2230d16e9962e8f31fe347e852b3139077c3283f Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_12.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_13.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_13.png new file mode 100644 index 0000000000000000000000000000000000000000..144b94192f4c8bc9ab3fc5b806e34e2b6ef2dbb0 Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_13.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_14.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_14.png new file mode 100644 index 0000000000000000000000000000000000000000..268ea6261877404093dbd4140bb70f1470011694 Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_14.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_15.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_15.png new file mode 100644 index 0000000000000000000000000000000000000000..18ef1bfced79b5da03d6bf25302beb07db634ca8 Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_15.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_16.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_16.png new file mode 100644 index 0000000000000000000000000000000000000000..b5f56b7f00aca2709709f9c1d6fffd7caa5ecd71 Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_02_en_16.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_1_01.gif b/docs/Advanced_development/en/HeliosService/media/HeliosService_1_01.gif new file mode 100644 index 0000000000000000000000000000000000000000..924804cf82dfeee58d4ceac7163802d6c6b8ed30 Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_1_01.gif differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_01.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_01.png new file mode 100644 index 0000000000000000000000000000000000000000..848318d88556775e9d25fc84022c6f8af8173047 Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_01.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_02.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_02.png new file mode 100644 index 0000000000000000000000000000000000000000..fc5f7c190c2c9a094ae29cdc82e2855aea066e23 Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_02.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_03.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_03.png new file mode 100644 index 0000000000000000000000000000000000000000..e98da0e86578cd3fd5bdb080e688a34a2db1ad74 Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_03.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_04.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_04.png new file mode 100644 index 0000000000000000000000000000000000000000..34d7655a035041b6805f985340426cc5a58c5deb Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_04.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_05.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_05.png new file mode 100644 index 0000000000000000000000000000000000000000..b0001acb83e486d67b65d561de4854867f244a7b Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_05.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_06.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_06.png new file mode 100644 index 0000000000000000000000000000000000000000..246fa7a032cec118c6f4d65f3309f9ec29aedee3 Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_06.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_07.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_07.png new file mode 100644 index 0000000000000000000000000000000000000000..d660fc1509e379a9d9f35087b6cb04f430eea64f Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_07.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_08.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_08.png new file mode 100644 index 0000000000000000000000000000000000000000..a28975a25c719d7c08c1e53dadc101713b1c42f3 Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_08.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_09.png b/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_09.png new file mode 100644 index 0000000000000000000000000000000000000000..6c68462a69f66a26a45fd7aecca084bdcc876427 Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_3_en_09.png differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_en_01.gif b/docs/Advanced_development/en/HeliosService/media/HeliosService_en_01.gif new file mode 100644 index 0000000000000000000000000000000000000000..03a2d378b750318685d32183de80728106e7ef97 Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_en_01.gif differ diff --git a/docs/Advanced_development/en/HeliosService/media/HeliosService_en_02.gif b/docs/Advanced_development/en/HeliosService/media/HeliosService_en_02.gif new file mode 100644 index 0000000000000000000000000000000000000000..28a6833a57343de438fb66a5b2fa6cf400a9c577 Binary files /dev/null and b/docs/Advanced_development/en/HeliosService/media/HeliosService_en_02.gif differ diff --git a/docs/Advanced_development/en/QuecPythonAdvance/HeliosService_API.md b/docs/Advanced_development/en/QuecPythonAdvance/HeliosService_API.md index fa1a85a262e448725700ca7d338f1a55f4635ee2..b96dc4d0defde01eb5476545cd54744d29c743dd 100644 --- a/docs/Advanced_development/en/QuecPythonAdvance/HeliosService_API.md +++ b/docs/Advanced_development/en/QuecPythonAdvance/HeliosService_API.md @@ -377,7 +377,7 @@ The initiation container for global monitor and configuration file {'media': , 'log': , 'net': , 'exception': } ``` -目前存在的服务 Current services +Current services | Service name | Perpetual | Description | | ------------ | --------- | ------------------------------------------------------------ | @@ -531,9 +531,7 @@ Unsubscribe the function #### Output data of subscriber -当我们订阅网络服务的时候我们, 网络的波动我们回收到相关通知, 通知为我们订阅的函数 - - +After subscribing to the logging service, the subscribed function will be notified when the log is printed ```python from usr.bin.guard import GuardContext @@ -720,17 +718,11 @@ When subscribing message, the event and data been played will be received simult It supports audio play and priority ranging from 0 to 4. Please note that the bigger number, the higher priority. In addition, each priority array can support 10 play tasks at maximum simultaneously. As for detailed play tactics, please refer to contents as described below. -1. 如果当前正在播放任务A,并且允许被打断,此时有高优先级播放任务B,那么会打断当前低优先级播放任务A,直接播放高优先级任务B; 2. Assuming that the Task A is playing and allowed to breakin, however, another Task B with higher priority will be played directly and stop the current Task A instead. -3. 如果当前正在播放任务A,并且不允许被打断,此时有高优先级播放任务B,那么B播放任务将会加入到播放队列中合适的位置,等待A播放完成,再依次从队列中按照优先级从高到低播放其他任务; 4. Assuming that the Task A is playing and allowed to breakin, however, another Task B with higher priority will be played directly and stop the current Task A instead. -5. 如果当前正在播放任务A,且不允许被打断,此时来了一个同优先级播放任务B,那么B会被加入到该优先级组播放队列队尾,等待A播放完成,再依次从队列中按照优先级从高到低播放其他任务; 6. Assuming that the Task A is playing and not allowed to breakin, however, another Task B with same priority will be placed to the end of the broadcast queue of priority array. When Task A is accomplished, other tasks in queue will be played in accord with the priority level by turns. (Normally, the level is from high to low) -7. 如果当前正在播放任务A,且允许被打断,此时来了一个同优先级播放任务B,那么会打断当前播放任务A,直接播放任务B; 8. Assuming that the Task A is playing and allowed to break in, however, another Task B with same priority will be played directly and stop the current Task A instead. -9. 如果当前正在播放任务A,且任务A的优先级组播放队列中已经有几个播放任务存在,且该优先级组播放队列最后一个任务N是允许被打断的,此时如果来了一个同样优先级的播放任务B,那么任务B会直接覆盖掉任务N;也就是说,某个优先级组,只有最后一个元素是允许被打断的,即breakin为1,其他任务都是不允许被打断的; 10. Assuming that Task A is playing and several tasks have been in the play queue of priority array. In addition, the last Task N in this array is allowed to break in. in this situation, another Task B with same priority will cover the Task N directly once added. That is to say, as for certain priority array, only the last task is allowed to break in (the breakin is 1), while for rest, which are not allowed. -11. 如果当前正在播放任务A,不管任务A是否允许被打断,此时来了一个优先级低于任务A的请求B,那么将B加入到B对应优先级组播放队列。 12. Assuming that Task A is playing, another Task B, whose priority is lower than Task A, will be added to the playing list of priority array corresponding to it no matter whether the Task A is allowed to break in. When subscribing message, the event and data played will be received simultaneously. @@ -1043,8 +1035,8 @@ Publish message, which will be received when subscribing exception message | --------- | ------ | ----------------- | | msg | string | Exception message | -- 返回值Return value - - 无None +- Return value + - None @@ -1244,7 +1236,7 @@ Query the count of sleep lock > pm_ser.count() - Parameter - - 无None + - None - Return value - Sleep lock count with int type diff --git a/docs/Advanced_development/en/QuecPythonCloud/Aliyun.md b/docs/Advanced_development/en/QuecPythonCloud/Aliyun.md index 3d9c2e97811f23c0ee41555f9811d4a6463570ba..4ba6195e9533c12fcdc7bd010494dddf4528979c 100644 --- a/docs/Advanced_development/en/QuecPythonCloud/Aliyun.md +++ b/docs/Advanced_development/en/QuecPythonCloud/Aliyun.md @@ -127,11 +127,10 @@ class aliyun_Class(object): self.productSecret = 'mj7qKfEn73y07gyK' self.DeviceSecret = None self.DeviceName = "Chic_001" - - self.subscribe_topic1 = "/" + self.productKey + \ - "/" + self.DeviceName + "/user/123" - self.subscribe_topic2 = "/" + self.productKey + "/" + self.DeviceName + "/user/qq" - self.publish_topic1 = "/" + self.productKey + "/" + self.DeviceName + "/user/qq" + # /broadcast/a1llZotKkCm/123 + self.subscribe_topic1 = "/broadcast" + "/" + self.productKey + "/" + "123" + self.subscribe_topic2 = "/broadcast" + "/" + self.productKey + "/" + "123" + self.publish_topic1 = "/broadcast" + "/" + self.productKey + "/" + "123" self.ali = aLiYun( self.productKey, diff --git a/docs/Advanced_development/zh/QuecPythonCloud/Aliyun.md b/docs/Advanced_development/zh/QuecPythonCloud/Aliyun.md index fe8ac783e7305d66fcc92ad894101a4a027efdfe..bdd83f3feceaad446267f2855ba884e5e7cd5383 100644 --- a/docs/Advanced_development/zh/QuecPythonCloud/Aliyun.md +++ b/docs/Advanced_development/zh/QuecPythonCloud/Aliyun.md @@ -128,11 +128,10 @@ class aliyun_Class(object): self.productSecret = 'mj7qKfEn73y07gyK' # 产品密钥(一机一密认证此参数传入None) self.DeviceSecret = None # 设备密钥(一型一密认证此参数传入None) self.DeviceName = "Chic_001" # 设备名称 - - self.subscribe_topic1 = "/" + self.productKey + \ - "/" + self.DeviceName + "/user/123" - self.subscribe_topic2 = "/" + self.productKey + "/" + self.DeviceName + "/user/qq" - self.publish_topic1 = "/" + self.productKey + "/" + self.DeviceName + "/user/qq" + # /broadcast/a1llZotKkCm/123 + self.subscribe_topic1 = "/broadcast" + "/" + self.productKey + "/" + "123" + self.subscribe_topic2 = "/broadcast" + "/" + self.productKey + "/" + "123" + self.publish_topic1 = "/broadcast" + "/" + self.productKey + "/" + "123" # 创建aliyun连接对象 self.ali = aLiYun( @@ -168,7 +167,7 @@ class aliyun_Class(object): def ali_subscribe_topic(self): # 订阅主题 self.ali.subscribe(self.subscribe_topic1, qos=0) - self.ali.subscribe(self.subscribe_topic2, qos=0) + # self.ali.subscribe(self.subscribe_topic2, qos=0) def ali_publish(self, topic, msg): ret = self.ali.getAliyunSta() @@ -229,6 +228,7 @@ if __name__ == '__main__': _thread.start_new_thread(Handler.pub, tuple) aliyunClass.ali_start() + ``` 接下来就可以下载验证了,python代码不需要编译,直接通过QPYcom工具把.py文件下载到模块中运行。 diff --git a/docs/Advanced_development/zh/QuecPythonCloud/HuaweiCloud.md b/docs/Advanced_development/zh/QuecPythonCloud/HuaweiCloud.md index d48b67028148ea8091bc04c2df1ef425d045234e..d28e575723b96609de802a969759c28794105e8c 100644 --- a/docs/Advanced_development/zh/QuecPythonCloud/HuaweiCloud.md +++ b/docs/Advanced_development/zh/QuecPythonCloud/HuaweiCloud.md @@ -148,6 +148,16 @@ $oc/devices/5fbbb784b4ec2202e982e643_869537055157730/sys/commands/# ![image-20220216154918490](media\image-20220216154918490.png) +### 响应命令 + +下行: $oc/devices/{device_id}/sys/commands/request_id={request_id} + +上行:$oc/devices/{device_id}/sys/commands/response/request_id={request_id} + +平台下发命令后,需要设备及时将命令的执行结果返回给平台,如果设备没回响应,平台会认为命令执行超时。 + +![image-20220223145214105](media\image-20220223145214105.png) + ## 软件设计 在HuaweiCloud平台取得ClientId、Username、Password之后,即可通过QuecPython的umqtt连接云平台,连接云平台的地址和端口固定不变,接下来就可以编写代码实验了。 @@ -162,7 +172,7 @@ from machine import UART import sim import hmac from hashlib import sha256 - +import utime IMEI = modem.getDevImei() E_SN = modem.getDevSN() @@ -184,18 +194,24 @@ DEVICE_ID = DeviceID + "_" + DeviceName state = 0 - def sub_cb(topic, msg): global state + global c print( "Subscribe Recv: Topic={},Msg={}".format( topic.decode(), msg.decode())) + topic = topic.decode() + msg = b'''{ + "result_code": 0 + }''' + if r'/sys/commands/request_id=' in topic: + c.publish('$oc/devices/{}/sys/commands/response/request_id={}'.format(DEVICE_ID,(topic.split("=")[-1])),msg) state = 1 def MQTT_Init(): - + global c c = MQTTClient( client_id=CLIENT_ID, server=SERVER, @@ -225,6 +241,7 @@ def MQTT_Init(): while True: c.wait_msg() if state == 1: + utime.sleep_ms(300) break c.disconnect() diff --git a/docs/Advanced_development/zh/QuecPythonCloud/media/image-20220223145214105.png b/docs/Advanced_development/zh/QuecPythonCloud/media/image-20220223145214105.png new file mode 100644 index 0000000000000000000000000000000000000000..33aa567c84ae286f3e50a647d2604f013ea95311 Binary files /dev/null and b/docs/Advanced_development/zh/QuecPythonCloud/media/image-20220223145214105.png differ