Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
cs:hw:05-sensors:iaq [2021/08/04 07:29]
avsetula [Kam dál?]
cs:hw:05-sensors:iaq [2021/08/04 08:01]
avsetula
Line 114: Line 114:
  
  
 +===== Kód dekodéru rámce LoRa =====
 +Příklad binárního dekodéru části přenášených dat (payload). Názvy funkcí jsou v souladu se sítí ''​The Things Network''​. ​
 +
 +
 +<​code>​
 +function getBit(number,​ bitPosition) {
 +  return (number & (1 << bitPosition)) === 0 ? 0 : 1;
 +}
 +function Decoder(bytes,​ port) {
 +  // Decode an uplink message from a buffer
 +  // (array) of bytes to an object of fields.
 +  var decoded = {};
 +  if (getBit(bytes[0],​0)) {
 +    decoded.temperature = ((bytes[2] << 8) | bytes[1]) / 100 - 100;
 +    decoded.relative_humidity = bytes[3] / 2.5;
 +  }
 +  if (getBit(bytes[0],​1)) decoded.pressure = ((bytes[5] << 8) | bytes[4]) / 100 + 800;
 +  if (getBit(bytes[0],​2)) {
 +    decoded.voc_index = ((bytes[7] << 8) | bytes[6]) & 0x01FF;
 +    decoded.voc_accuracy = ((bytes[7] << 8) | bytes[6]) >> 9 & 0x0003;
 +  }
 +  if (getBit(bytes[0],​3)) decoded.ambient_light = Math.exp(bytes[8] / 20) - 1;
 +  if (getBit(bytes[0],​4)) decoded.co2 = ((bytes[10] << 8) | bytes[9]);
 +  if (getBit(bytes[0],​5)) {
 +    decoded.pm10 = (((bytes[13] << 16) | (bytes[12] << 8) | bytes[11]) >> 12) & 0x000FFF / 4;
 +    decoded.pm2_5 = ((bytes[13] << 16) | (bytes[12] << 8) | bytes[11]) & 0x000FFF / 4;
 +  }
 +  if (getBit(bytes[0],​6)) {
 +    decoded.noise_duration = (bytes[14] / 2);
 +    decoded.noise_intensity = (bytes[15] / 5) + 25;
 +  }
 +  return decoded;
 +}
 +</​code>​
  
  
 ===== Kam dál? ===== ===== Kam dál? =====
-  * [[cs:​files:​products:​05-sensors| Dokumentace a firmware ke stažení]] + 
-  * [[https://www.unipi.technology/cs/​interierovy-senzor-kvality-vzduchu-p299?​categoryId=43| Koupit na e-shopu Unipi]]+<​tile>​ 
 +cs:​files:​products:​05-sensors:iaq            ​| Dokumentace a firmware ke stažení  ​| :en:files:unipi-kb-icon-os.png         | 
 +cs:hw:05-sensors:iaq-eshop-redirect-hidden  ​| Koupit na e-shopu Unipi            | :​en:​files:​unipi-kb-icon-shop.png ​      | 
 +</​tile>​