:::

2-2 G5T 基礎使用

一、輸出資料結構

附 A: PMS5003T 主動式傳輸協議
默認串列傳輸速率: 9600bps 校驗位:無 停止位: 1 位
協議總長度: 32 位元組

1

起始符 1

0x42 (固定)

2

起始符 2

0x4d (固定)

3

幀長度高八位

幀長度=2x13+2(資料+校驗位元)

4

幀長度低八位

5

數據 1 高八位

*資料 1 表示 PM1.0 濃度(CF=1,標準顆粒物)
單位μ g/m3

6

數據 1 低八位

7

數據 2 高八位

資料 2 表示 PM2.5 濃度(CF=1,標準顆粒物)
單位μ g/m3

8

數據 2 低八位

9

數據 3 高八位

資料 3 表示 PM10 濃度(CF=1,標準顆粒物)
單位μ g/m3

10

數據 3 低八位

11

數據 4 高八位

*資料 4 表示 PM1.0 濃度(大氣環境下)
單位μ g/m3

12

數據 4 低八位

13

數據 5 高八位

資料 5 表示 PM2.5 濃度(大氣環境下)
單位μ g/m3

14

數據 5 低八位

15

數據 6 高八位

資料 6 表示 PM10 濃度 (大氣環境下)
單位μ g/m3

16

數據 6 低八位

17

數據 7 高八位

資料 7 表示 0.1 升空氣中直徑在 0.3um 以上
顆粒物個數

18

數據 7 低八位

19

數據 8 高八位

資料 8 表示 0.1 升空氣中直徑在 0.5um 以上
顆粒物個數

20

數據 8 低八位

21

數據 9 高八位

資料 9 表示 0.1 升空氣中直徑在 1.0um 以上
顆粒物個數

22

數據 9 低八位

23

數據 10 高八位

資料 10 表示 0.1 升空氣中直徑在 2.5um 以上
顆粒物個數

24

數據 10 低八位

25

數據 11 高八位

溫度。 注:真實溫度值=本數值/10
單位:℃

26

數據 11 低八位

27

數據 12 高八位

濕度。 注:真實濕度值=本數值/10
單位:%

28

數據 12 低八位

29

數據 13 高八位

版本號

30

數據 13 低八位

錯誤代碼

31

資料和校驗高八位元

校驗碼=起始符 1+起始符 2+……..+數據 13 低八位

32

資料和校驗低八位元

注:標準顆粒物質量濃度值是指用工業金屬顆粒物作為等效顆粒進行密度換算得到的品質濃度值,適用於工業生產車間等環境。大氣環境顆粒物質量濃度值以空氣中主要污染物為等效顆粒進行密度換算,適用于普通室內外大氣環境。

 

二、範例程式
#include <SoftwareSerial.h>
SoftwareSerial PmsSerial(2, 3); // RX, TX

static unsigned int pm_cf_10;           //定義全域變數
static unsigned int pm_cf_25;
static unsigned int pm_cf_100;
static unsigned int pm_at_10;
static unsigned int pm_at_25;
static unsigned int pm_at_100;
static unsigned int particulate03;
static unsigned int particulate05;
static unsigned int particulate10;
static unsigned int particulate25;
static float sencorT;
static float sencorH;

void getG5(unsigned char ucData)//獲取G5的值
{
  static unsigned int ucRxBuffer[250];
  static unsigned int ucRxCnt = 0;
  ucRxBuffer[ucRxCnt++] = ucData;
  if (ucRxBuffer[0] != 0x42 && ucRxBuffer[1] != 0x4D)//資料頭判斷
  {
    ucRxCnt = 0;
    return;
  }
  if (ucRxCnt > 32)//資料位元數判斷//G5T為32
  {
       pm_cf_10=(int)ucRxBuffer[4] * 256 + (int)ucRxBuffer[5];      //大氣環境下PM2.5濃度計算        
       pm_cf_25=(int)ucRxBuffer[6] * 256 + (int)ucRxBuffer[7];
       pm_cf_100=(int)ucRxBuffer[8] * 256 + (int)ucRxBuffer[9];
       pm_at_10=(int)ucRxBuffer[10] * 256 + (int)ucRxBuffer[11];               
       pm_at_25=(int)ucRxBuffer[12] * 256 + (int)ucRxBuffer[13];
       pm_at_100=(int)ucRxBuffer[14] * 256 + (int)ucRxBuffer[15];
       particulate03=(int)ucRxBuffer[16] * 256 + (int)ucRxBuffer[17];
       particulate05=(int)ucRxBuffer[18] * 256 + (int)ucRxBuffer[19];
       particulate10=(int)ucRxBuffer[20] * 256 + (int)ucRxBuffer[21];
       particulate25=(int)ucRxBuffer[22] * 256 + (int)ucRxBuffer[23];
       sencorT=((int)ucRxBuffer[24] * 256 + (int)ucRxBuffer[25])/10;
       sencorH=((int)ucRxBuffer[26] * 256 + (int)ucRxBuffer[27])/10; 
      
       
    if (pm_cf_25 >  999)//如果PM2.5數值>1000,返回重新計算
    {
      ucRxCnt = 0;
      return;
    }
    
    ucRxCnt = 0;
    return;
  }

}

void setup() {
   PmsSerial.begin(9600);
   PmsSerial.setTimeout(1500);
   Serial.begin(9600);
   Serial.print("PM_CF1.0");Serial.print(",");
   Serial.print("PM_CF2.5");Serial.print(",");
   Serial.print("PM_CF10");Serial.print(",");
   Serial.print("PM_AQI1.0");Serial.print(",");
   Serial.print("PM_AQI2.5");Serial.print(",");
   Serial.print("PM_AQI10");Serial.print(",");
   Serial.print("PM_count03");Serial.print(",");
   Serial.print("PM_count05");Serial.print(",");
   Serial.print("PM_count10");Serial.print(",");
   Serial.print("PM_count25");Serial.print(",");
   Serial.print("Temperature");Serial.print(",");
   Serial.println("Humandity");
   
   Serial.print("(ug/m3)");Serial.print(",");
   Serial.print("(ug/m3)");Serial.print(",");
   Serial.print("(ug/m3)");Serial.print(",");
   Serial.print("(ug/m3)");Serial.print(",");
   Serial.print("(ug/m3)");Serial.print(",");
   Serial.print("(ug/m3)");Serial.print(",");
   Serial.print("(pcs/0.01cf)");Serial.print(",");
   Serial.print("(pcs/0.01cf)");Serial.print(",");
   Serial.print("(pcs/0.01cf)");Serial.print(",");
   Serial.print("(pcs/0.01cf)");Serial.print(",");
   Serial.print("(C)");Serial.print(",");
   Serial.println("(%)");
}

void loop() {
  while (PmsSerial.available()) {
    getG5(PmsSerial.read());
  }
  Serial.print(pm_cf_10);Serial.print(",");
  Serial.print(pm_cf_25);Serial.print(",");
  Serial.print(pm_cf_100);Serial.print(",");
  Serial.print(pm_at_10);Serial.print(",");
  Serial.print(pm_at_25);Serial.print(",");
  Serial.print(pm_at_100);Serial.print(",");
  Serial.print(particulate03);Serial.print(",");
  Serial.print(particulate05);Serial.print(",");
  Serial.print(particulate10);Serial.print(",");
  Serial.print(particulate25);Serial.print(",");
  Serial.print(sencorT);Serial.print(",");
  Serial.println(sencorH);

  delay(2000);
}

 

 


搜尋

錯誤訊息
未知: Array and string offset access syntax with curly braces is deprecated 在檔案中的第 /include/functions.encoding.php 列 40
未知: Array and string offset access syntax with curly braces is deprecated 在檔案中的第 /include/functions.encoding.php 列 40
未知: Array and string offset access syntax with curly braces is deprecated 在檔案中的第 /include/functions.encoding.php 列 73
未知: Function get_magic_quotes_gpc() is deprecated 在檔案中的第 /class/libraries/vendor/xoops/xmf/src/Request.php 列 505
未知: Function get_magic_quotes_gpc() is deprecated 在檔案中的第 /class/libraries/vendor/xoops/xmf/src/Request.php 列 119
未知: Function get_magic_quotes_gpc() is deprecated 在檔案中的第 /class/libraries/vendor/xoops/xmf/src/Request.php 列 505
未知: Function get_magic_quotes_gpc() is deprecated 在檔案中的第 /class/libraries/vendor/xoops/xmf/src/Request.php 列 119
未知: Function get_magic_quotes_gpc() is deprecated 在檔案中的第 /class/libraries/vendor/xoops/xmf/src/Request.php 列 119
未知: Function get_magic_quotes_gpc() is deprecated 在檔案中的第 /class/libraries/vendor/xoops/xmf/src/Request.php 列 119
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined index: bootstrap 在檔案中的第 /modules/tadtools/preloads/core.php 列 68
已棄用
資料庫語法
0.000096 - SET SQL_BIG_SELECTS = 1
0.000859 - SELECT * FROM config WHERE (`conf_modid` = '0' AND `conf_catid` = '1') ORDER BY conf_order ASC
0.000346 - SELECT sess_data, sess_ip FROM session WHERE sess_id = 'bj32lftd380ll2o460v9is6c0j'
0.000386 - SELECT * FROM modules WHERE dirname = 'tad_book3'
0.000675 - SELECT COUNT(*) FROM group_permission WHERE (`gperm_modid` = '1' AND (`gperm_groupid` = '3') AND `gperm_name` = 'module_read' AND `gperm_itemid` = '9')
0.000344 - SELECT * FROM config WHERE (`conf_modid` = '9') ORDER BY conf_order ASC
0.000514 - select a.tbsn,a.title,b.author,a.category,a.page,a.paragraph,a.sort from tad_book3_docs as a left join tad_book3 as b on a.tbsn=b.tbsn where a.tbdsn='379'
0.000221 - SELECT tbsn,title FROM tad_book3 ORDER BY sort
0.000481 - SELECT * FROM config WHERE (`conf_modid` = '0' AND `conf_catid` = '5') ORDER BY conf_order ASC
0.000333 - SELECT COUNT(*) FROM banner
0.000157 - SELECT * FROM banner LIMIT 1, 1
0.004093 - UPDATE banner SET impmade = 1277978 WHERE bid = 2
0.000358 - SELECT * FROM config WHERE (`conf_modid` = '0' AND `conf_catid` = '3') ORDER BY conf_order ASC
0.001749 - SELECT DISTINCT gperm_itemid FROM group_permission WHERE gperm_name = 'block_read' AND gperm_modid = 1 AND gperm_groupid IN (3)
0.001393 - SELECT b.* FROM newblocks b, block_module_link m WHERE m.block_id=b.bid AND b.isactive=1 AND b.visible=1 AND m.module_id IN (0,9) AND b.bid IN (1,2,3,4,5,6,7,8,9,10,11,18,15,16,20,19,58,60,61,73,72,74,71,76,75,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,111,109,110,112,113,114,115,116,117,118,119,120,121,122,123) ORDER BY b.weight, m.block_id
0.000854 - SELECT f.*, s.tpl_source FROM tplfile f LEFT JOIN tplsource s ON s.tpl_id=f.tpl_id WHERE (`tpl_tplset` = 'default' AND `tpl_file` = 'system_block_search.tpl') ORDER BY tpl_refid
0.004267 - update tad_book3_docs set `count` = `count`+1 where tbdsn='379'
0.000361 - select * from tad_book3_docs where tbdsn='379'
0.000192 - select * from tad_book3 where tbsn='21'
0.000238 - select mid from modules where dirname='tad_book3'
0.000651 - desc `tad_book3_data_center` `sort`
0.000257 - select `col_sn`,`data_name`,`data_sort`, `data_value` from `tad_book3_data_center` where `mid`= '9' and `col_name`='read_tbdsn_date' and `col_sn`='379' order by `sort` , `data_sort`
0.001988 - select tbdsn,title,content,category,page,paragraph,sort,enable,uid,from_tbdsn from tad_book3_docs where tbsn='21' and `enable`='1' order by category,page,paragraph,sort
0.001194 - select tbdsn,title,category,page,paragraph,sort from tad_book3_docs where tbsn='21' and (`content` != '' or `from_tbdsn` != 0) and enable='1' order by category,page,paragraph,sort
0.000213 - SELECT * FROM modules WHERE dirname = 'tadtools'
0.000272 - SELECT * FROM config WHERE (`conf_modid` = '4') ORDER BY conf_order ASC
0.000160 - select mid from modules where dirname='tad_book3'
0.000398 - desc `tad_book3_data_center` `sort`
0.000226 - select `col_sn`,`data_name`,`data_sort`, `data_value` from `tad_book3_data_center` where `mid`= '9' and `col_name`='video_tbdsn_date' and `col_sn`='379' order by `sort` , `data_sort`
0.000245 - select groupid,name from groups
0.000543 - select * from `tad_book3_files_center` where `col_name`='mp4' and `col_sn`='379' and `kind`='file' order by sort limit 0,1
0.000382 - select `tt_theme`,`tt_use_bootstrap`,`tt_bootstrap_color`,`tt_theme_kind` from `tadtools_setup` where `tt_theme`='school2015'
0.000614 - SELECT f.*, s.tpl_source FROM tplfile f LEFT JOIN tplsource s ON s.tpl_id=f.tpl_id WHERE (`tpl_tplset` = 'default' AND `tpl_file` = 'tadbook3_index.tpl') ORDER BY tpl_refid
0.000373 - SELECT * FROM modules WHERE dirname = 'tad_themes'
0.000315 - SELECT * FROM config WHERE (`conf_modid` = '3') ORDER BY conf_order ASC
0.000204 - select `tt_bootstrap_color` from tadtools_setup where `tt_theme`='school2015'
0.000398 - select * from tad_themes where `theme_name`='school2015'
0.000268 - select conf_value from config where conf_title ='_MD_AM_DEBUGMODE'
0.000339 - select * from tad_themes_blocks where `theme_id`='7'
0.000199 - select mid from modules where dirname='tad_themes'
0.000574 - desc `tad_themes_data_center` `sort`
0.000209 - select `col_sn`,`data_name`,`data_sort`, `data_value` from `tad_themes_data_center` where `mid`= '3' and `col_name`='theme_id' and `col_sn`='7' order by `sort` , `data_sort`
0.000261 - select conf_value from config where conf_name ='allow_register'
0.000359 - select `mid`, `name`, `dirname` from modules where isactive='1' and hasmain='1' and weight!=0 order by weight
0.000149 - SELECT * FROM modules WHERE dirname = 'tad_blocks'
0.000161 - select conf_value from config where conf_title ='_MD_AM_DEBUGMODE'
0.000219 - select count(*) from priv_msgs where `to_userid` ='0' and `read_msg`=0 group by `to_userid`
0.000304 - select `menuid`, `itemname`, `itemurl`, `target`, `icon`, `link_cate_name`, `link_cate_sn`, `read_group` from tad_themes_menu where of_level='0' and status='1' order by position
0.000133 - select `menuid`, `itemname`, `itemurl`, `target`, `icon`, `link_cate_name`, `link_cate_sn`, `read_group` from tad_themes_menu where of_level='11' and status='1' order by position
0.000115 - select `menuid`, `itemname`, `itemurl`, `target`, `icon`, `link_cate_name`, `link_cate_sn`, `read_group` from tad_themes_menu where of_level='14' and status='1' order by position
0.000153 - select `menuid`, `itemname`, `itemurl`, `target`, `icon`, `link_cate_name`, `link_cate_sn`, `read_group` from tad_themes_menu where of_level='15' and status='1' order by position
0.000134 - select `menuid`, `itemname`, `itemurl`, `target`, `icon`, `link_cate_name`, `link_cate_sn`, `read_group` from tad_themes_menu where of_level='17' and status='1' order by position
0.000155 - select `menuid`, `itemname`, `itemurl`, `target`, `icon`, `link_cate_name`, `link_cate_sn`, `read_group` from tad_themes_menu where of_level='16' and status='1' order by position
0.000155 - select `menuid`, `itemname`, `itemurl`, `target`, `icon`, `link_cate_name`, `link_cate_sn`, `read_group` from tad_themes_menu where of_level='18' and status='1' order by position
0.000435 - select a.* from tad_themes_files_center as a left join tad_themes as b on a.col_sn=b.theme_id where a.`col_name`='slide' and b.`theme_name`='school2015'
0.000195 - SELECT * FROM modules WHERE dirname = 'tad_login'
0.000361 - SELECT * FROM config WHERE (`conf_modid` = '14') ORDER BY conf_order ASC
總計: 57
區塊
搜尋: 沒有快取
總計: 1
額外資訊
包含檔案: 204 檔案
使用記憶體: 7046056 bytes
計時
XOOPS 使用 0.140 秒來載入。
XOOPS Boot 使用 0.030 秒來載入。
Module init 使用 0.009 秒來載入。
XOOPS output init 使用 0.041 秒來載入。
Module display 使用 0.032 秒來載入。
Page rendering 使用 0.027 秒來載入。