亚洲精品一二区_国产黄色片网站_99久久久成人国产精品_蜜臀网_国产精品一区二区三区免费_成人av中文字幕_91精品国产欧美一区二区成人

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > Ipv6 煙霧傳感器實驗

Ipv6 煙霧傳感器實驗 時間:2018-09-20      來源:未知

1.1.1 【實驗目的】

熟悉contiki 操作系統

熟悉Ipv6 的通信協議

通過本實驗掌握stm32w108的ADC使用方法

1.1.2 【實驗環境】

Ipv6蜂鳴器控制模塊

VMware 虛擬機

PC機 XP、Window7/8

1.1.3 【實驗內容】

編寫煙霧傳感器的ADC程序,實現定時向server端發送ADC采集的數據。

1.1.4 【實驗原理】

有原理圖可知,煙霧引腳與STM32W108的PA_5引腳相連,查找芯片手冊ADC章節,可知PC_5引腳對應的ADC5通道。

1.1.5 【實驗步驟】

打開VMware虛擬軟件,打開Ubuntu鏡像,進入Vi下的contiki-2.7-stm目錄文件夾,執行ls命令。

進入繼電器源碼文件,路徑如下:

/home/user/songl/contiki-2.7-stm/contiki-2.7-stm/examples/mbxxx/rpl-udp-Gas

接著你只需打開udp-Gas-client.c和udp- Gas -server.c兩個文件,修改他們之間的通信協議。

編譯程序

執行命令:

./build.sh

會生成udp- Gas -server.bin和udp- Gas -client.bin兩個bin文件。

連接設備如下(請參照第11.4.3章節“鏡像燒寫”),注意任何模塊都可以作為服務端的底板,只需燒寫server程序即可。這里運用繼電器模塊做服務端。

燒寫程序:

服務端(繼電器)燒寫 udp- Gas -server.bin。

客戶端(煙霧)燒寫 udp- Gas -client.bin。

上圖繼電器模塊連接到PC機上,打開串口調試。查看服務端接收到的數據。分析數據的內容是否正確。

1.1.6 【實驗結果】

利用串口調試工具做實驗,打開串口調試工具,波特率115200、串口號(你的電腦的端口號)、點擊打開。

注意:要先把模塊的開關打開,等到串口上有數據后,把打火機的口對準煙霧傳感器,然后按下打火機放出氣體,這時觀察調試助手的數據信息。

接收到的數據如下:

可以通過串口發送21 49 04 00 47 00 06 74 00 00 78控制繼電器的開。

21 49: 為字符‘!I’

04 00 :設備地址 注意:04 為低八位地址,00為高八位地址

47 :設備類型 ‘G’ ,是煙霧傳感器

00 06 74: ADC的數據值:12位AD值06為高四位,74為第8位。

78 :校驗和。

1.1.7 【實驗參考代碼】

PROCESS_THREAD(udp_client_process, ev, data)

{

uint8_t result = 0;

uint8_t i = 0;

txbuf[0] = '!';

txbuf[1] = 'I';

txbuf[2] = addresses_L;

txbuf[3] = addresses_H;

txbuf[4] = 'G';

PROCESS_BEGIN();

PROCESS_PAUSE();

// GPIO_DBGCFG |= (1<<5);

set_global_address();

PRINTF("UDP client process started\r\n");

print_local_addresses();

/* new connection with remote host */

client_conn = udp_new(NULL, UIP_HTONS(UDP_SERVER_PORT), NULL);

if(client_conn == NULL) {

PRINTF("No UDP connection available, exiting the process!\r\n");

PROCESS_EXIT();

}

udp_bind(client_conn, UIP_HTONS(UDP_CLIENT_PORT));

PRINTF("Created a connection with the server ");

PRINT6ADDR(&client_conn->ripaddr);

PRINTF(" local/remote port %u/%u\r\n",

UIP_HTONS(client_conn->lport), UIP_HTONS(client_conn->rport));

etimer_set(&et_send,CLOCK_SECOND*4);

while(1) {

PROCESS_YIELD();

if(ev == tcpip_event) {

tcpip_handler();

#if 0

if(rxlen == 7)

{

if(rxbuf[0] == '#' && rxbuf[1] == 'C'&& rxbuf[2] == 'I' && rxbuf[3] == 'r' && rxbuf[4] ==addresses_H && rxbuf[5] == addresses_L)

{

if((rxbuf[6] - '0') == Relay_on)

{

halGpioSet(PORTx_PIN(PORTC,2),1);

PRINTF(" Open Relay\n");

flag = 1;

}

else if((rxbuf[6] - '0') == Relay_off)

{

halGpioSet(PORTx_PIN(PORTC,2),0);

PRINTF("Close Relay\n ");

flag = 0;

}

rxlen = 0;

}

}

#endif

}

#if 0

if(ev == serial_line_event_message) {

if(*((uint8_t *)data) == 0x90)

continue;

txbuf[count++] = *((uint8_t *)data);

if (count == 24) {

uip_udp_packet_sendto(client_conn, (char *)txbuf, 24,&server_ipaddr, UIP_HTONS(UDP_SERVER_PORT));

count = 0;

}

}

#endif

if(ev == PROCESS_EVENT_TIMER)

{

unsigned int temp = temperature_sensor.value(0);

txbuf[7] = temp;

txbuf[6] = temp >> 8;

for(i=0;i<(11-2);i++)

{

result ^= txbuf[i+1];

}

txbuf[10] = result;

uip_udp_packet_sendto(client_conn, (char *)txbuf, 11, &server_ipaddr, UIP_HTONS(UDP_SERVER_PORT));

result = 0;

etimer_reset(&et_send);

}

}

PROCESS_END();

}

Client 向服務器發送數據,主要用到etimer事件PROCESS_EVENT_TIMER,etimer_set(&et_send,CLOCK_SECOND*4)設置需要的時間;默認CLOCK_SECOND 1000 毫秒,也就是說每個4秒就會產生一個PROCESS_EVENT_TIMER事件。因此四秒發送一次設備狀態數據。

上一篇:C語言中的宏

下一篇:Sd卡啟動盤的制作(EXT2)

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 久久有这有精品在线观看 | 99精品在线看 | 国产成人综合一区人人 | 精品在线99 | 国产欧美日韩精品第三区 | 亚洲欧美日韩一区高清中文字幕 | 久久久91精品国产一区二区 | 亚洲大片免费观看 | 日本高清专区一区二无线 | 97人人超 | 最新99国产成人精品视频免费 | 久久一本精品久久精品66 | 99热这里只有精品首页精品 | 日本黄色片免费看 | 日本特黄a级高清免费酷网 日本特黄a特黄刺激大片 | 国产三级在线 | 热热热热色| 人人公开免费超级碰碰碰视频 | 看黄视频软件 | 国产精品尹人在线观看免费 | 久久精品视频大全 | 中文字幕亚洲图片 | 国产成人h片视频在线观看 国产成人lu在线视频 | 欧美多人性受xxxx喷水 | 免费看日b视频 | 黄色片视频在线免费观看 | 久久精品国产欧美日韩99热 | 久久精品国产在线 | 国产99精品在线观看 | 性久久久久 | 在线a人片免费观看国产 | 日韩免费一区二区三区 | 日韩欧美日本 | 久久综合九色综合98一99久久99久 | 亚洲视频在线免费观看 | 国产人成在线视频 | 国产综合自拍 | 九九精品热线免费观看6 | 在线观看毛片视频 | 久久996热精品xxxx | 久久久久成人精品一区二区 |