日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]sbc6000x數(shù)據(jù)采集小應(yīng)用

 

 

 

由于工作原因被要求設(shè)計一款數(shù)據(jù)采集系統(tǒng),可以用傳感器采集例如溫度濕度,或之類的東西。

讓這些數(shù)據(jù)每隔一段時間發(fā)布到互聯(lián)網(wǎng)SNS社區(qū),例如Twitter(twitter.com),嘀咕(huotu.com)或fanfou等各大社區(qū)。讓大家可以第一時間了解到傳感器所在區(qū)域的采集數(shù)據(jù),可充分利用板子的各個功能模塊。

SNS的解釋:Social Network Sofware,社會性網(wǎng)絡(luò)軟件,可作為官方信息發(fā)布的場所,把信息最快速度的傳遞到全世界范圍。

串口可以作為數(shù)采集接口,接入不同的含有采集電路的傳感器。
USB作為數(shù)據(jù)外部備份功能。
LCD顯示數(shù)據(jù)。
按鈕作為功能選擇。
編程實現(xiàn)以太網(wǎng)接口負責(zé)把實時數(shù)據(jù)傳送到sns社區(qū)。


開發(fā)板用的天漠科技的SBC6000X。
使用了libcurl組件進行互聯(lián)網(wǎng)通信,效果非常理想,下面有截圖。


沒照相機,就湊活兒看吧,這個就是sbc6000x開發(fā)板。線路很簡單可以自己接就可以了。
 
sns截圖,數(shù)據(jù)由采集器采集,這里從數(shù)據(jù)采集模擬發(fā)送了一些數(shù)據(jù)。
 代碼實現(xiàn)是比較簡單的,主要是利用sns社區(qū)的開放api進行信息傳輸,系統(tǒng)是基于Linux,使用了libcurl進行網(wǎng)絡(luò)部分的編程,而傳感器是可以使用COM模擬。

[!--empirenews.page--]

#include <stdio.h>
#include <string.h>
#include "curl/curl.h"
#include "curl/types.h"
#include "curl/easy.h"
/* 針對sns 進行配置,可惜現(xiàn)在digu在維護中,可以自己選擇配置 */
#define SNS_UPDATE_URL " http://api.digu.com/statuses/update.xml" /* sns 社區(qū)開放api入口 */
#define SNS_USERPWD "用戶名:密碼"
#define SNS_USER "用戶email"
#define PROXY "可設(shè)置代理"
 
int digusendmsg(char *msg)
 CURL *curl;
 CURLcode res;
 printf("Init to send message.n");
 struct curl_httppost *formpost=NULL;
 struct curl_httppost *lastptr=NULL;
 struct curl_slist *headerlist=NULL;
 static const char buf[] = "Expect:";
 curl_global_init(CURL_GLOBAL_ALL);
  /*Fill in the file upload field */
 curl_formadd(&formpost,
               &lastptr,
               CURLFORM_COPYNAME,"content",
               CURLFORM_COPYCONTENTS, msg,
               CURLFORM_END);
   curl_formadd(&formpost,
               &lastptr,
               CURLFORM_COPYNAME,"source",
               CURLFORM_COPYCONTENTS,"mx",
               CURLFORM_END);
 curl = curl_easy_init();
 printf("Init done!n");
 headerlist = curl_slist_append(headerlist, buf);
 if(curl) {
          /* what URL that receives this POST */
         curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
         curl_easy_setopt(curl,CURLOPT_PROXY,PROXY);/* http代理設(shè)置,如果沒有可以注釋掉*/
          curl_easy_setopt(curl,CURLOPT_URL,SNS_UPDATE_URL);
          curl_easy_setopt(curl, CURLOPT_HTTPHEADER,headerlist);
          curl_easy_setopt(curl, CURLOPT_HTTPPOST,formpost);
          curl_easy_setopt(curl, CURLOPT_HTTPAUTH,CURLAUTH_BASIC);
          curl_easy_setopt(curl,CURLOPT_USERPWD,SNS_USERPWD);
          curl_easy_setopt(curl, CURLOPT_HEADER, 1);
          curl_easy_setopt(curl, CURLOPT_COOKIE,SNS_USER);
          res = curl_easy_perform(curl);      
          /* always cleanup */
          curl_easy_cleanup(curl);        
          /* then cleanup the formpost chain */
          curl_formfree(formpost);
          /* free slist */
          curl_slist_free_all (headerlist);
          if(!res){
                   printf("TranlateOK!n");
                   return0;
          }else{
                   printf("Tranlateerror!n ");
                   return-1;
          }
  }
}
而從不同接口接受到的數(shù)據(jù),就可以直接使用snsendmsg函數(shù)進行傳輸?shù)絊NS社區(qū)就可以了。
一個非常簡單的應(yīng)用J..
本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉