±à¼ÍƼö: |
±¾ÎÄÖ÷Òª½éÉÜÈçºÎʵÏÖÀûÓÃNB-IoT¼¼ÊõʵÏÖ»ùÓÚUDPÐÒéµÄÊý¾Ý´«Ê䣬ϣÍû¶ÔÄúÄÜÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚCSDN£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼ÍƼö¡£ |
|
Ó²¼þƽ̨£ºBC95-B5 £¬ÔÚÌÔ±¦ÉϹºÂò¼´¿É£¬¿ÉÒÔÖ±½Ó¹ºÂòÄ£¿é£¬È»ºó×Ô¼ºÀûÓÃUSBת´®¿Ú½Óµ½PCÉÏ¡£Ò²¿ÉÒÔ¹ºÂòÓÐMCUµØ°åµÄ£¬±¾È˹ºÂòµÄÊÇ»ùÓÚMSP430µØ°åµÄ¿ª·¢°å£¬²»ÐèÒª×Ô¼º½ÓUSBת´®¿Ú¹¤¾ß£¬µ±È»¼Û¸ñ»á¹óһЩ¡£
Èí¼þƽ̨£ºÓÉÓÚ±¾ÎÄÖ»ÊÇʵÏÖ¼òµ¥µÄÊý¾ÝÊÕ·¢£¬²»ÐèÒªÅÜMCU³ÌÐò£¬ËùÒÔÖ÷ÒªÓõŤ¾ßÊÇNB-IoT
QNavigator ¹¤¾ß£¬¶ÁÕß¿ÉÈ¥ÍøÉÏ×ÔÐÐÏÂÔØ¡£Ö®Ç°ÎÒʹÓô®¿ÚÖ±½Ó·¢ATÖ¸Á±È½ÏÂé·³£¬ÒòΪÔÚÕýʽʹÓÃnbÄ£¿é·¢Êý¾Ý֮ǰ£¬ÐèҪһЩָÁî½øÐÐÅäÖá£Ê¹ÓÃ?NB-IoT
QNavigator £¬¸ÃÈí¼þÄÚÖÃÁ˺ܶàÖ¸Á±ÈÈç´´½¨Ì×½Ó×ÖÕâЩָÁ¶¼ÊÇ×Ô¶¯ÅäÖúõģ¬Ï൱·½±ã¡£
ÔÆÆ½Ì¨£º°¢ÀïÔÆ¡£È¥°¢ÀïÔÆ¹ÙÍø¹ºÂòÒ»¸ö×î±ãÒ˵ÄECS£¬Ô¤×°ubuntu14£¬µ±È»Ò²¿ÉÒÔÑ¡ÔñÆäËûϵͳ¡£Ê¹ÓÃÔÆ·þÎñÆ÷µÄÒ»¸öºÃ´¦¾ÍÊÇÖ»Òª¹ºÂò¿´ECS£¬ÒÔºó¿ÉÒÔËæ±ã¸ü»»ÏµÍ³£¬¼¸·ÖÖӾͿÉÒԸ㶨¡£Ö÷ÒªÔÚ¹ºÂòµÄʱºò£¬Ñ¡ÔñרÓÐÍøÂ磬²»ÒªÑ¡Ôñ¾µäÍøÂ磬ÕâÊÇ·½±ãºóÃæ°²È«×éµÄÉèÖá£
NBרÓÿ¨£º¿ÉÒÔͨ¹ýµçÐÅÔËÓªÉ̹ºÂò£¬Òƶ¯Ò²ÓС£
ÔÚÉÏÃæµÄÌõ¼þ¶¼Âú×ãÏÂÀ´ºó£¬¿ÉÒÔ½øÐÐÏÂÃæµÄ²Ù×÷£º
SP1£ºÔÚ°¢ÀïÔÆÉÏÔËÐÐÒ»¸öUDP·þÎñÆ÷³ÌÐò£¨²Î¼û²©¿ÍºóÃæ£©£¬Ö÷ҪʵÏÖ½ÓÊÜÊý¾Ý²¢½«Êý¾Ý·µ»ØµÄ¹¦ÄÜ£¬ÐèÒªÉèÖ÷þÎñ¶ËµÄUDP¶Ë¿ÚºÅ£¬ÎÒÕâÀïÉèÖÃΪ3001£¬È»ºóʹÓÃgccÖ¸Áî±àÒë³ÌÐò¡£ÔÚÔËÐгÌÐò֮ǰ£¬ÐèÒªÏÈÔÚ°¢ÀïÔÆµÄECSµÄ°²È«×éÖн«3001¶Ë¿Ú·ÅÐÐ(²Î¼ûͼ1)£¬ÈçºÎÌí¼Ó°²È«×鹿Ôò¿ÉÒԲο¼°¢ÀïÔÆµÄ°²È«×éÏà¹ØÎĵµ¡£ÉèÖúð²È«×éÖ®ºó£¬ÔËÐÐUDP·þÎñÆ÷³ÌÐò¡£ÕâÀï¿ÉÒÔÏÈʹÓÃtcp/udp
socketµ÷ÊÔ¹¤¾ß£¬½¨Á¢Ò»¸öUDP¿Í»§¶Ë£¨²Î¼ûͼ2£©£¬Ñ¡ÔñECSµÄIPµØÖ·ºÍÄãËùÉèÖõĶ˿ںţ¬½øÐÐÊý¾Ý²âÊÔ£¬Èç¹ûͨÐųɹ¦£¬ËµÃ÷·þÎñÆ÷ÔËÐÐÕý³££¬¿É½øÐÐÏÂÒ»²½²Ù×÷¡£

ͼ1°²È«×éÉèÖÃ

ͼ2udpµ÷ÊÔ
SP2£º½«¿ª·¢°åͨ¹ýUSBÏß²åÈëPC£¬´ò¿ª?NB-IoT QNavigator
£¬µã»÷Connect to module.¾Í»á×Ô¶¯Á¬½Ó¡£ÕâÒ»²½»á³öÏֺܶàÎÊÌ⣬ÕâЩÎÊÌâ¶àÊýÓëÄãµÄÄ£¿éËùÔÚµØÓÐûÓÐÐźŸ²¸ÇÓйأ¬Èç¹ûÄãËùÔÚµØÃ»ÓлùÕ¾£¬ÄãµÄÄ£¿é¾ÍÎÞ·¨¸½×Å£¬Ò²¾ÍÎÞ·¨Í¨ÐÅ¡£³õʼ»¯Íê³ÉÖ®ºó£¬¿ÉÒÔ¿´µ½Ä£¿éµÄÏà¹ØÐÅÏ¢ºÍ¿¨µÄÏà¹ØÐÅÏ¢¡£Èçͼ3¡£Èç¹ûÒ»Ö±ÎÞ·¨×¢²áµ½ÍøÂ磬ÊÔÒ»ÊÔ»»Ò»¸öλÖ㬻òÕß½«¿ª·¢°å¾Ù¸ßÒ»µã£¬ÒòΪÕâÒ»²½ÐèÒªÓÐNBП²¸Ç¡£

SP3£ºµã»÷?NB-IoT QNavigator×ó²àµÄUDP£¬½«°¢ÀïÔÆ·þÎñÆ÷µÄIPµØÖ·ºÍdup·þÎñÆ÷µÄ¶Ë¿ÚºÅÌîÈ룬µã»÷Á¬½Ó¡£Èçͼ4.

Á¬½Ó³É¹¦ºó£¬·¢ËÍÊý¾Ý123456789£¬ÔÚ½ÓÊÕ¶Ë»áÊÕµ½313233343536373839.Êý¾Ýͨ¹ýNBÄ£¿é½«·¢Ë͵½°¢ÀïÔÆ·þÎñÆ÷£¬È»ºó·þÎñÆ÷½«Êý¾Ý·¢»ØÀ´¡£
ͼ5ΪʵÎïͼ

ÖÁ´Ë£¬ÀûÓÃNBIoT¼¼ÊõÍê³ÉÁËÊý¾Ý´«Êä¡£
ºóÐø¿ÉÒÔÀûÓÃMCUµ×°åÉè¼Æ²É¼¯Êý¾ÝµÄ³ÌÐò£¬Éè¼ÆÔÆ·þÎñµÄÊý¾Ý¿â£¬Ìá¹©ÒÆ¶¯¿ª·¢·ÖAPI½Ó¿Ú£¬ÒÔ¼°Êý¾ÝÕ¹Ïֵȹ¦ÄÜ¡£ÒÔºó²ÉÓûùÓÚUDPÐÒéµÄCoAPÐÒé½øÐÐÊý¾Ý´«Êä¡£
ÎÊÌâ1£ºÒÔºóʹÓõçÐŵÄNB¿¨£¬¶¼ÐèÒª×ßµçÐŵÄͳһƽ̨£¬Ò²¾ÍÊÇÊý¾Ý²»ÄÜÖ®¼ä·¢Ë͵½×Ô¼ºµÄ·þÎñÆ÷¡£
ÎÊÌâ2£ºNBµÄÐźÅĿǰ²»Îȶ¨£¬¶ÔNBÀ´Ëµ£¬Èç¹û20ÃëÖ®ÄÚûÓÐÁ¬½Ó³É¹¦£¬¾Í½øÈë˯Ãß״̬£¬ºóÐø¾ÍÎÞ·¨Á¬½Ó¡£¾Ý˵¿ÉÒÔ¸ü¸ÄÕâ¸öʱ¼ä£¬¾ßÌåÐèҪȥ²éÔÄ×ÊÁÏ¡£
¸½£ºUDP·þÎñ¶Ë³ÌÐò
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<unistd.h>
#include<errno.h>
#include<string.h>
#include<stdlib.h>
#define SERV_PORT 3001
int main()
{
int sock_fd;
int recv_num;
int send_num;
int client_len;
char recv_buf[20];
struct sockaddr_in addr_serv;
struct sockaddr_in addr_client;
sock_fd = socket(AF_INET,SOCK_DGRAM,0);
if(sock_fd < 0){
perror("socket");
exit(1);
} else{
printf("sock sucessful\n");
}
memset(&addr_serv,0,sizeof(struct sockaddr_in));
addr_serv.sin_family = AF_INET;
addr_serv.sin_port = htons(SERV_PORT);
addr_serv.sin_addr.s_addr = htonl(INADDR_ANY);
client_len = sizeof(struct sockaddr_in);
if(bind(sock_fd,(struct sockaddr *)&addr_serv,sizeof(struct
sockaddr_in))<0 ){
perror("bind");
exit(1);
} else{
printf("bind sucess\n");
}
while(1){
printf("begin recv:\n");
recv_num = recvfrom(sock_fd,recv_buf,sizeof(recv_buf),0,(struct
sockaddr *)&addr_client,&client_len);
if(recv_num < 0){
printf("bad\n");
perror("again recvfrom");
exit(1);
} else{
recv_buf[recv_num]='\0';
printf("recv sucess:%s\n",recv_buf);
}
printf("begin send:\n");
send_num = sendto(sock_fd,recv_buf,recv_num,0,(struct
sockaddr *)&addr_client,client_len);
if(send_num < 0){
perror("sendto");
exit(1);
} else{
printf("send sucessful\n");
}
}
close(sock_fd);
return 0;
} |
|