<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 大型貨車超載超速實時檢測系統(tǒng)

          大型貨車超載超速實時檢測系統(tǒng)

          作者: 時間:2014-04-18 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/259120.htm

          4.3 GPRS模塊

          ARM將收集到的重量和速度信號經(jīng)過處理之后,如果貨車超載或者超速就將相關(guān)的貨車信息(車牌號,超速超重多少等)傳送到GPRS模塊,通過GPRS傳送到主服務(wù)器上,主程序程序流程圖如圖4.9:

          /************************************************

          * GPRS demo, use ppp to connect internet

          * use ttyS1 to ctrol GPRS

          * by Zou jian guo ah_zou@163.com>

          * 2004-11-02

          *************************************************/

          #include termios.h>

          #include stdio.h>

          #include unistd.h>

          #include fcntl.h>

          #include time.h>

          //#include sys/signal.h>

          #include pthread.h>

          #include tty.h

          #include gprs.h

          /*--------------------------------------------------------*/

          #define ENDMINITERM 27 /* ESC to quit miniterm */

          #define FALSE 0

          #define TRUE 1

          /*--------------------------------------------------------*/

          volatile int STOP=FALSE;

          int GET_GPRS_OK=FALSE;

          int baud=B115200;

          int get_baudrate(int argc,char** argv);

          char * cmd[20]={

          at,

          ate1,

          at+chfa=1, //設(shè)置通話通道為1,AT+CHFA 命令切換主副音頻通道

          at+clvl=100, //設(shè)置受話器音量最大, AT+CLVL 命令可以調(diào)節(jié)輸出音頻信號增益

          at+cmic=1,10 //設(shè)置通道1的話筒增益

          // atd12345678r,

          };

          void * keyshell() ;

          /* modem input handler */

          void* gprs_show(void * data)

          {

          while(1)

          {

          if(GET_GPRS_OK){

          GET_GPRS_OK=FALSE;

          printf(%s,GPRS_BUF);

          GPRS_parse(GPRS_BUF,gps_info);

          GPRS_show();

          }

          usleep(100);

          if(STOP)break;

          }

          }

          /* modem input handler */

          void* gprs_read(void * data)

          {

          int i=0;

          char c;

          char buf[1024];

          printf(nread modemn);

          while (STOP==FALSE)

          {

          tty_read(c,1);

          printf(%c,c);

          }

          printf(exit from reading modemn);

          return NULL;

          }

          int main(int argc,char** argv)

          {

          int ok;

          pthread_t th_a, th_b, th_show;

          void * retval;

          if(argc 2) {

          printf ( Default baudrate is 115200 bps. If not, please enter the baudrate as a parametern);

          }

          else

          baud=get_baudrate(argc, argv);

          tty_init();

          pthread_create(th_a, NULL, keyshell, 0);

          pthread_create(th_b, NULL, gprs_read, 0);

          pthread_create(th_show, NULL, gprs_show, 0);

          while(!STOP){

          usleep(100000);

          }

          tty_end();

          exit(0);

          }

          int get_baudrate(int argc,char** argv)

          {

          int v=atoi(argv[1]);

          switch(v){

          case 4800:

          return B4800;

          case 9600:

          return B9600;

          case 19200:

          return B19200;

          case 38400:

          return B38400;

          case 57600:

          return B57600;

          case 115200:

          return B115200;

          default:

          return -1;

          }

          }

          void gprs_init()

          {

          int i;

          for(i=0; i5; i++) {

          tty_writecmd(cmd[i], strlen(cmd[i]));

          }

          }

          void gprs_hold()

          {

          tty_writecmd(at, strlen(at));

          tty_writecmd(ath, strlen(ath));

          }

          void gprs_ans()

          {

          tty_writecmd(at, strlen(at));

          tty_writecmd(ata, strlen(ata));

          }

          void gprs_call(char *number, int num)

          {

          tty_write(atd, strlen(atd));

          tty_write(number, num);

          tty_write(;r, strlen(;r));

          usleep(200000);

          }

          void gprs_msg(char *number, int num)

          {

          char ctl[]={26,0};

          char text[]=Welcome to use up-tech embedded platform!;

          tty_writecmd(at, strlen(at));

          tty_writecmd(at, strlen(at));

          tty_writecmd(at+cmgf=1, strlen(at+cmgf=1));

          tty_write(at+cmgs=, strlen(at+cmgs=));

          tty_write(, strlen());

          tty_write(number, strlen(number));

          tty_write(, strlen());

          tty_write(;r, strlen(;r));

          tty_write(text, strlen(text));

          tty_write(ctl, 1);

          usleep(300000);

          }

          void gprs_baud(char *baud,int num)

          {

          tty_write(at+ipr=, strlen(at+ipr=));

          tty_writecmd(baud, strlen(baud) );

          usleep(200000);

          }

          稱重傳感器相關(guān)文章:稱重傳感器原理
          傾角傳感器相關(guān)文章:傾角傳感器原理


          關(guān)鍵詞: 超載檢測 超速檢測 霍爾開關(guān) ARM9

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();