当前位置:网站首页>Blinker FAQs
Blinker FAQs
2022-06-13 00:35:00 【Flying husky】
https://www.arduino.cn/thread-103782-1-1.html
- Q: The compilation routine reports an error or the routine causes the device to restart repeatedly
- A: Make sure the routine supports the device of your choice , Update the latest library and update the corresponding package, If you still cannot solve the above problem, please contact the developer .
- Q: Whether delay or... Can be used in callback function delay
- A: The callback function is used to facilitate sorting out the program logic , But if there is blocking type code in callback function ( Such as : while delay or Serial Reading and writing, etc ) It may affect the normal communication and operation of the equipment .
Users must avoid executing blocking code in callbacks during development , Please use flag bit and other methods to query, detect and control the flag bit outside the callback . - Q: Whether the component status can be fed back in real time
- A: because MQTT Is a lightweight transport protocol , It is not recommended that the user use it to update the device status in real time ( If in loop It's going on and on print), This will lead to a large number of communication costs ( For example, Alibaba cloud access devices ). Therefore, we limit the transmission frequency of the device , We suggest that Feedback of component status in the heartbeat package . If the user loop The feedback component status in may trigger an error :MQTT NOT ALIVE OR MSG LIMIT. If the user really requires high real-time data, a key component can be added to the component , When this key component is pressed, the device will feed back the current status of each component .
- Q: Various versions SDK Support situation
- A: Currently, it is more stably supported SDK by Arduino/NodeJS/Python, Other versions SDK(ESP-IDF/Python) Will be updated in the near future , Some versions SDK( Such as micropython) The update will be abandoned due to insufficient support of its underlying Library .
- Q: How to merge code from other projects into blinker in
- A:blinker Mainly responsible for Hardware device side <-> Cloud <->APP End Data interaction among the three , It will not affect the hardware device end IO control .blinker The relevant code will use the corresponding network communication interface at the hardware device end ( Such as WiFi/HTTP/Client etc. ) Communicate and analyze the communication data in some stack space . The user does not occupy the corresponding interface and reserves enough stack space during code merging .
- Q: Considerations for code merging
- A: Do not use blocking type code in callbacks . Guarantee loop Chinese vs Blinker.run() Frequent calls to , This function is used to maintain the connection between devices and process the received data ;
- Q: How to ensure that when merging code Blinker.run() Frequent calls to
- A: The device starts networking / Get cloud connection information / When communicating with cloud data, they are all in Blinker.run() Complete on call . It is suggested that Blinker.run Put it in loop in , And loop Try not to set additional time-consuming functions in . If you need to set a time-consuming function , have access to Blinker.init() function ( This function is used to detect whether the device has completed initialization , That is, start networking and successfully obtain cloud connection information ) Judge the equipment status , Run the time-consuming function after the device is initialized .
- Q: What is a device not online (MQTT NOT ALIVE)
- A: The device is not online APP/ The control device is not online . Hardware devices default at startup APP/ The control device is not online , Only when the hardware device receives APP/ Control equipment ( Or voice assistant ) After sending the message, I think APP/ Control equipment online . For example, when opening APP Corresponding to the equipment interface APP A heartbeat packet will be sent to the hardware device to inform the device to go online , perhaps APP After sending a control message to the hardware device, the hardware device will consider APP Device online . Upon receipt of APP/ Control device messages 120s If the next message is still not received after the APP The device is offline , At this point, if you go to APP/ The feedback data from the control equipment will trigger the error .
- Q:blinker broker Whether the device under can use voice assistant
- A:Blinker Abreast of the times Arduino Library supported blinker broker Devices under use voice assistant
- Q: Whether Xiaoai access can be linked with Mi's devices
- A: Xiaoai only uses Mi's home synchronization device to access , It can not be linked with Micah's equipment
- Q: The voice assistant cannot be controlled normally after synchronization
- A: Make sure you use the latest Libraries , If it is still out of control , You can view the equipment debugging information . If it still can't be solved , Please post or consult the developers of the user group .
- Q: The data chart does not show
- A: Make sure to use the latest libraries and package, Test routine routine 1 / routine 2.
- Q:ESP32-CAM routine
- A:https://github.com/blinker-iot/blinker-library/tree/master/examples/Blinker_ESP32_CAM
- Q: Data chart suddenly has no data
- A: The common reason is that the amount of data stored exceeds the limit ( Ordinary users can only upload 5 Different key The data of ), You can debug the information through the serial port of the hardware device ( Report errors max device data key size limit) perhaps APP-> developer -> Data management query .
- Q: How to view device side debugging information
- A: Code on the device side setup Add the following code to ,IDE Select the serial port corresponding to the device in, open the serial port assistant, select the corresponding baud rate, and then view the device debugging information .
BLINKER_DEBUG.stream(Serial); BLINKER_DEBUG.debugAll();
Common tips / Report errors
- Q:Blinker Timer loaded! EEPROM address 1536-2431 is used for Blinker Timer! PLEASE AVOID USING THESE EEPROM ADDRESS!
- A: This is just a normal device startup prompt , Let me tell you EEPROM Some addresses in will be blinker Library usage . If you need to use it EEPROM, Please avoid these addresses . This is not the reason why your device can not be connected to the server or used normally . The specific cause can be queried and judged through the debugging information at the device end .
- Q:Maybe you have put in the wrong AuthKey!/ Or maybe your request is too frequently!/ Or maybe your network is disconnected!
- A: The device does not get the device login information from the server , At present, the common reasons are : Request too often / The network environment is unstable. The request failed / Server crash . You can try restarting the device or changing the hotspot , The possibility of server crash is very small , Of course, if the server crashes, we will restart the service as soon as possible .
- Q:Please set a mode BLINKER_BLE/BLINKER_WIFI/BLINKER_MQTT ! Please check your mode setting.
- A: The device access type is not set , You can use the macro definition to set the device access type before the library reference .
- Q:MQTT NOT ALIVE OR MSG LIMIT
- A: The device is not online perhaps Device transmission frequency limit exceeded ( Common situations are as follows: loop The component status is continuously fed back in the function ).
- Q:data is not a JSON!
- A: The sending data format is not Json Format .Json Format verification consumes a large stack , This error may also be reported if the stack is insufficient , At this point, you can try to set the device to non encrypted access mode .
边栏推荐
- BUUCTF之BabyUpload[GXYCTF2019]
- Masa auth - overall design from the user's perspective
- 为什么磁盘分区的时候,第一个分区前面总有一段空间(63或者2048个扇区)
- 6.824 Lab 3A: Fault-tolerant Key/Value Service
- 如何快速查询手机在网状态
- How to visit a website
- [LeetCode]3. The longest substring without duplicate characters forty
- Converting Chinese numbers to Arabic numbers in Delphi
- Static analysis of malicious code
- Use of split() method in string class
猜你喜欢
![[CISCN2019 华北赛区 Day2 Web1]Hack World --BUUCTF](/img/1e/ebf8cc06ba620261f03f84ca2c68e6.png)
[CISCN2019 华北赛区 Day2 Web1]Hack World --BUUCTF

The origin of MySQL in bedtime stories

从ADK的WinPE自己手动构建自己的PE

How to visit a website

安全事故等级划分为哪几级

ik分词器的安装
![BUUCTF之BabySQL[极客大挑战 2019]](/img/6c/957e5e09f252210d0b4cf8771d4ade.png)
BUUCTF之BabySQL[极客大挑战 2019]

Stack overflow learning summary

Kalix system - use of information collection gadgets

6.824 Lab 3B: Fault-tolerant Key/Value Service
随机推荐
[colorful] Net dto mapping
Machining Industry MES system Mold Industry MES system CNCl Medium Industry MES System MES code scanning and reporting MES data collection
Some basic design knowledge
Delphi Chinese digit to Arabic digit
Five mock technologies of go
2022 constructeur - direction de l'équipement - Fondation générale (constructeur) Questions d'examen du certificat d'exploitation et examen de simulation
[matlab] 3D curve and 3D surface
Learn to divide subnets in an article
On the parameters of main function in C language
ImportError: cannot import name &#039;get_ora_doc&#039; from partially initialized module
测试平台系列(97) 完善执行case部分
On the usage details and special usage of switch case
Penetration test summary
Leetcode weekly -- April to May
浏览器控制台注入JS
Paper reading and sharing
BUUCTF之BabySQL[极客大挑战 2019]
浏览器缓存的执行流程
6.824 Lab 3A: Fault-tolerant Key/Value Service
2022美容师(技师)上岗证题目及答案