当前位置:网站首页>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 .
原网站

版权声明
本文为[Flying husky]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202280600042093.html