Process received data - Printable Version +- Logic Machine Forum (https://forum.logicmachine.net) +-- Forum: LogicMachine eco-system (https://forum.logicmachine.net/forumdisplay.php?fid=1) +--- Forum: Scripting (https://forum.logicmachine.net/forumdisplay.php?fid=8) +--- Thread: Process received data (/showthread.php?tid=2990) Pages:
1
2
|
Process received data - Rick - 18.11.2020 Hi~, I am connecting another brand of RS485 air conditioner panel via LM. Each time it is triggered, this panel will send out 16 bytes of data. It can be polished from the picture, I read 16-bit data from the 485 bus every time. But there are other panel devices on the bus. These devices transmit different amounts of data after being triggered. As a result, some of the 16 bytes of data I received may not be commands from the air conditioner panel, so I cannot make a judgment. For the data received by the LM, I need to input the data in (AD BD 0D 1A 06 03 05 42 20 01 28) to make a judgment. For example, the value of 20. How to extract 20 and then judge and execute the corresponding operation? (18.11.2020, 09:11)Rick Wrote: Hi~, I am connecting another brand of RS485 air conditioner panel via LM. Each time it is triggered, this panel will send out 16 bytes of data. RE: Process received data - Daniel - 18.11.2020 The best would be to contact the AC manufacture and ask for protocol documentation. RE: Process received data - Rick - 18.11.2020 (18.11.2020, 09:27)Daniel. Wrote: The best would be to contact the AC manufacture and ask for protocol documentation.Yes, I have obtained the protocol documentation. But because there are other devices on the 485 bus, LM will also receive data that I don’t need when reading data. I don’t know how to filter out the data I need. How can I parse or process the data I received? (18.11.2020, 09:27)Daniel. Wrote: The best would be to contact the AC manufacture and ask for protocol documentation.尊宝 07.10.2020 01:21:46 * hexstring [16]: 02 00 38 64 AD BD 0D 1A 06 03 06 16 21 09 27 28 尊宝 07.10.2020 01:22:57 * hexstring [16]: 02 00 3A 6E AD BD 0D 1A 06 03 06 17 21 09 27 28 尊宝 07.10.2020 01:24:11 * hexstring [16]: 02 00 3B 73 AD BD 0D 1A 06 03 06 18 21 09 27 28 尊宝 07.10.2020 01:25:30 * hexstring [16]: 02 00 3C 78 AD BD 0D 1A 06 03 06 20 21 09 27 28 尊宝 07.10.2020 01:26:53 * hexstring [16]: 02 00 44 20 AD BD 0D 1A 06 03 06 21 21 09 27 28 尊宝 07.10.2020 01:28:32 * hexstring [16]: 00 45 25 AD BD 0D 1A 06 03 06 23 21 09 27 28 02 尊宝 07.10.2020 01:29:34 * hexstring [16]: 47 2F AD BD 0D 1A 06 03 06 24 21 09 27 28 02 00 RE: Process received data - Daniel - 18.11.2020 Each product must have a address which is one of the byte in the string, probably the first. RE: Process received data - admin - 18.11.2020 Are you sure that each frame has a fixed length of 16 bytes? From your logs it seems that the length can be different. RE: Process received data - Rick - 18.11.2020 (18.11.2020, 09:41)Daniel. Wrote: Each product must have a address which is one of the byte in the string, probably the first.YES, for example, when LM receives a string of 20 bytes of data, I only need the consecutive 16 bytes. How can I extract these 16 bytes? (18.11.2020, 09:46)admin Wrote: Are you sure that each frame has a fixed length of 16 bytes? From your logs it seems that the length can be different.YES,the air conditioner panel I need to receive is 16 bytes each time. But sometimes this panel will actively report more than 16 bytes of data, and I will ignore this data. (18.11.2020, 09:49)Rick Wrote:And I need 16 data starting with AD BD OD to make judgment logic.(18.11.2020, 09:41)Daniel. Wrote: Each product must have a address which is one of the byte in the string, probably the first.YES, for example, when LM receives a string of 20 bytes of data, I only need the consecutive 16 bytes. How can I extract these 16 bytes? RE: Process received data - admin - 18.11.2020 Can you provide documentation on the protocol? From your logs ab bd is not in same place. RE: Process received data - Rick - 18.11.2020 (18.11.2020, 10:58)admin Wrote: Can you provide documentation on the protocol? From your logs ab bd is not in same place.Yes, because there are data sent by other devices on the bus, the location of the data AD BD received by LM will be different each time. Documentation may not be of much use to you, because the data sent by the actual device is different from that documentation. RE: Process received data - admin - 18.11.2020 How often is data sent on the bus? Can there be long delays between packets? RE: Process received data - Rick - 19.11.2020 (18.11.2020, 11:20)admin Wrote: How often is data sent on the bus? Can there be long delays between packets?The sending of data is uncertain, and I cannot guarantee the interval time. The other equipment is a light panel, which will send data to the bus when triggered by someone. RE: Process received data - admin - 19.11.2020 Try this as a resident script. Edit serial.open with correct port name and settings. Code: if not port then RE: Process received data - Rick - 19.11.2020 (19.11.2020, 07:44)admin Wrote: Try this as a resident script. Edit serial.open with correct port name and settings.THANKS,I will try this. (19.11.2020, 09:32)Rick Wrote:In addition, I found that LM sometimes cannot be accessed through Google browser, and it is normal after waiting for about 30s. When it is not accessible, the logic function inside LM cannot be realized either.(19.11.2020, 07:44)admin Wrote: Try this as a resident script. Edit serial.open with correct port name and settings.THANKS,I will try this. RE: Process received data - Daniel - 19.11.2020 Your device mots likely is overloaded and it keeps rebooting. RE: Process received data - Rick - 19.11.2020 (19.11.2020, 09:36)Daniel. Wrote: Your device mots likely is overloaded and it keeps rebooting.I used a new device, and there were not many internal programs. How can I avoid this problem? RE: Process received data - Daniel - 19.11.2020 Install the System Load app and see what process is eating your LM RE: Process received data - Rick - 19.11.2020 (19.11.2020, 09:56)Daniel. Wrote: Install the System Load app and see what process is eating your LMSorry,what is System Load app? RE: Process received data - Daniel - 19.11.2020 In the app store there is app to monitor ruining processes on LM. RE: Process received data - Rick - 19.11.2020 (19.11.2020, 10:03)Daniel. Wrote: In the app store there is app to monitor ruining processes on LM.Got it! (19.11.2020, 10:03)Rick Wrote:It does not seem to occupy a lot, or may occupy a lot at a certain point in time.In the total, only about 30% is occupied.The most occupied is [b]/usr/bin/eibd[/b]-e 15.15.255 -q 100 -L 1 -Q 0 -f eth0 -D -R -T -S224.0.23.12 -F n,n,n,n,0,0 tpuarts:/dev/ttymxc5.(19.11.2020, 10:03)Daniel. Wrote: In the app store there is app to monitor ruining processes on LM.Got it! RE: Process received data - Rick - 20.11.2020 (19.11.2020, 07:44)admin Wrote: Try this as a resident script. Edit serial.open with correct port name and settings.How can I extract the 12th or 13th data separately from the 16 reads? RE: Process received data - admin - 20.11.2020 Like this, keep in mind that table indexes start at 1, not 0. Code: if #res == 16 then |