嵌入式车载平台的GPRS网络实现-续PPP协议(转)

Policy-based design在嵌入式网络连接管理中的实战应用 Policy-based design(策略化设计)是一种以编译期类型组合替代运行时多态的C++架构范式,核心在于将变化点(如连接协议、重试逻辑、流量控制)抽象为模板参数,实现零开销抽象与内存确定性。其技术价值在于规避虚函数表开销、消除动态分配风险、提升缓存局部性,并天然支持配置即代码——尤其适用于Windows Mobile、IoT设备、车载T-Box、工业网关等资源受限嵌入式场景。本文结合真实WM平台网络连接模块重构案例,详解如何用CRssiSignalPolicy、CAggressiveGprsFal 阅读详情

接上一节未完的嵌入式车载平台的GPRS网络实现(转)

前面以为GPRS模块直接执行AT指令就可以联网,好像不对,看了下面的知道还缺少PPP协议,那么PPP协议一般是ADSL在拨号的时候用的(PPPOE),怎么和串口通信挂钩的呢?


来自:http://network.51cto.com/art/201009/224135.htm

PPP设置之pppd拨号


  下面我们主要讲解一下在Linux系统下PPP的有关配置。重点讲解的是pppd通过GPRS上网的内容。希望对大家有所帮助。

前面的内容,我们都讲解了PPP协议的一些基本应用,以及一些相关的配置。那么这里我们就主要讲解一下实现Linux下pppd通过GPRS拨号上网的过程。昨天把开发板的bootloader删了,没办法,只得在PC上调GPRS拨号了.先在windows下拨号成功,然后用工具看拨号时具体使用了哪些AT命令,再使用这些命令到linux下使用pppd来拨号,最后终于成功了,之前开发板上不能成功拨号极有可就是AT指令有问题,现在只有等开发板回来后再到ARM7上调了.

下面贴一下拨号使用的几个脚本,GPRS模块是使用的华为的GTM900-B:

1,   /etc/ppp/peers/gprs: 复制内容到剪贴板

代码:

 
  1. #/etc/ppp/peers/gprs  
  2. # This is pppd script for China Mobile, used Huawei GTM900-B GPRS Module  
  3. # Usage: root>pppd call gprs  
  4. /dev/ttyS0   与串口0相关联
  5. 19200  
  6. crtscts  
  7. modem  
  8. #noauth  
  9. debug  
  10. nodetach  
  11. #hide-password  
  12. usepeerdns  
  13. noipdefault  
  14. defaultroute  
  15. user "cmnet"  
  16. 0.0.0.0:0.0.0.0  
  17. #ipcp-accept-local  
  18. #ipcp-accept-remote  
  19. #lcp-echo-failure   12  
  20. #lcp-echo-interval 3  
  21. #noccp  
  22. #novj  
  23. #novjccomp  
  24. #persist  
  25. connect '/usr/sbin/chat -s -v -f /etc/ppp/gprs-connect-chat'  
  26. #connect '/bin/chat -v -s -f /etc/ppp/gprs-connect-chat'  
  27. #disconnect '/bin/chat -v -f /etc/ppp/gprs-disconnect-chat'2 

gprs-connect-chat: 复制内容到剪贴板

代码:

 
  1. #/etc/ppp/gprs-connect-chat  
  2. # chat script for China Mobile, used HuaWei GTM900-B GPRS module.  
  3. TIMEOUT       15  
  4. ABORT           "DELAYED"  
  5. ABORT           "BUSY"  
  6. ABORT           "ERROR"  
  7. ABORT           "NO DIALTONE"  
  8. ABORT           "NO CARRIER"  
  9. TIMEOUT       40  
  10. ''              \rAT  
  11. OK             ATS0=0  
  12. OK              ATE0V1  
  13. OK              AT+CGDCONT=1,"IP","CMNET"  
  14. OK              ATDT*99***1#  
  15. CONNECT       ''3 

用于chap认证的密码文件:chap-secrets,由于移动的GPRS服务不需要用户名和密码,所以刚开始没设用户名和密码,结果在chap认证的时候总不能通过.后来在gprs里添加user "cmnet"和这个密码文件后就OK了. 复制内容到剪贴板

代码:

 
  1. #/etc/ppp/chap-secrets  
  2. #client server secret IP address   
  3. "cmnet" *     "cmnet" * 4
  4. 另外还有个可选的,断开连接的脚本如下: 复制内容到剪贴板  

代码:

 
  1. ABORT        OK  
  2. ABORT        BUSY  
  3. ABORT        DELAYED  
  4. ABORT        "NO ANSWER"  
  5. ABORT        "NO CARRIER"  
  6. ABORT        "NO DIALTONE"  
  7. ABORT        VOICE  
  8. ABORT        ERROR  
  9. ABORT        RINGING  
  10. TIMEOUT        12  
  11. ""        \\k\\k\\k\\d+++ATH  
  12. "使用: 将PC上的DNS删掉后运行如下:  
  13. [root@localhost ppp]# pppd call gprs  
  14. timeout set to 15 seconds  
  15. abort on (DELAYED)  
  16. abort on (BUSY)  
  17. abort on (ERROR)  
  18. abort on (NO DIALTONE)  
  19. abort on (NO CARRIER)  
  20. timeout set to 40 seconds  
  21. send (^MAT^M)  
  22. expect (OK)  
  23. ^M^M  
  24. OK  
  25. -- got it  
  26.  
  27. send (ATS0=0^M)  
  28. expect (OK)  
  29. ^M  
  30. AT^M  
  31. OK  
  32. -- got it  
  33.  
  34. send (ATE0V1^M)  
  35. expect (OK)  
  36. ^M  
  37. ATS0=0^M^M  
  38. OK  
  39. -- got it  
  40.  
  41. send (AT+CGDCONT=1,"IP","CMNET"^M)  
  42. expect (OK)  
  43. ^M  
  44. ATE0V1^M^M  
  45. OK  
  46. -- got it  
  47.  
  48. send (ATDT*99***1#^M)  
  49. expect (CONNECT)  
  50. ^M  
  51. ^M  
  52. OK^M  
  53. ^M  
  54. CONNECT  
  55. -- got it  
  56.  
  57. send (^M)  
  58. Serial connection established.  
  59. using channel 42  
  60. Using interface ppp0  
  61. Connect: ppp0 <--> /dev/ttyS0  
  62. sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x8c5e3d45> <pcomp> <accomp>]  
  63. rcvd [LCP ConfRej id=0x1 <magic 0x8c5e3d45>]  
  64. sent [LCP ConfReq id=0x2 <asyncmap 0x0> <pcomp> <accomp>]  
  65. rcvd [LCP ConfAck id=0x2 <asyncmap 0x0> <pcomp> <accomp>]  
  66. rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MD5> <pcomp> <accomp>]  
  67. sent [LCP ConfAck id=0x1 <asyncmap 0x0> <auth chap MD5> <pcomp> <accomp>]  
  68. rcvd [CHAP Challenge id=0x1 <fb17db52a81bc14997f72e2932ab0b342bab961d49c611>, name = ""]  
  69. sent [CHAP Response id=0x1 <2c757eac52b8d9a7d80ca7a77c419ad9>, name = "cmnet"]  
  70. rcvd [CHAP Success id=0x1 ""]  
  71. CHAP authentication succeeded  
  72. sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15>]  
  73. sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]  
  74. rcvd [LCP ProtRej id=0x1 80 fd 01 01 00 0c 1a 04 78 00 18 04 78 00]  
  75. rcvd [IPCP ConfReq id=0x1 <addr 221.177.160.163>]  
  76. sent [IPCP ConfAck id=0x1 <addr 221.177.160.163>]  
  77. rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01>]  
  78. sent [IPCP ConfReq id=0x2 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]  
  79. rcvd [IPCP ConfNak id=0x2 <addr 10.165.226.25> <ms-dns1 211.137.64.163> <ms-dns3 211.136.20.203>]  
  80. sent [IPCP ConfReq id=0x3 <addr 10.165.226.25> <ms-dns1 211.137.64.163> <ms-dns3 211.136.20.203>]  
  81. rcvd [IPCP ConfAck id=0x3 <addr 10.165.226.25> <ms-dns1 211.137.64.163> <ms-dns3 211.136.20.203>]  
  82. local   IP address 10.165.226.25  
  83. remote IP address 221.177.160.163  
  84. primary DNS address 211.137.64.163  
  85. secondary DNS address 211.136.20.203 

再将这里的DNS给PC或作个连接到/etc/ppp/resolf.conf应该就OK了.


下面来自:http://zhangyange00.blog.163.com/blog/static/505752201141023527867/

最近一直在搞协议栈这块,呵呵,,像TCP/IP,FTP,BOA等基本都搞定了,剩下一个ppp通过GPRS拨号上网的

题,教我搞了几天,妈的,最后监测出来,原来是开发板上的模块接触不良造成连接不上,,,狂晕啊!!!!!

不过,我借鉴了网上很多兄弟的文章,再次非常感谢他们的辛勤劳作!

为了备忘,我还是喜欢把它写下来,同时也可以给别人的帮助,或是大家一起讨论。

第一步:编译内核,make menuconfig 中选上关于ppp协议的所有选项,,呵呵呵。。。。我是这么干的。

第二步:在你的开发板上运行pppd命令,如果出现说没有这样的命令的话,那么你就需要移植了,,呵呵,恭喜

了,因为我也是移植过去的。其实移植这个并不难,简要步骤:

              1>./configure

              2> 生成Makefile后,make  CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc

              3> 基本上编译通过了,在目录下把该copy的文件copy出来放进开发板相应的位置就ok了

然后再次运行pppd,出现一串乱码,说明你移植成功了。【这里说的比较简单,是因为网上这样的文章实在太多

哈,如果关于这方面你还有什么不懂的,我们可以一起讨论。】

第三步:就是编写拨号的脚本文件了,这个网上也有很多的,,下面这些文件大家最好放在/etc/ppp目录里

#####################################################################################

#/etc/ppp/peers/gprs

#/etc/ppp/peers/gprs
# This is pppd script for China Mobile, used Huawei GTM900-B GPRS Module
# Usage:   root>pppd call gprs
/dev/usb/tts/0
460800
crtscts
modem
debug
nodetach
usepeerdns
noipdefault
defaultroute
user "cmnet"
0.0.0.0:0.0.0.0
connect '/sbin/chat -s -v -f /etc/ppp/gprs-connect-chat'
#disconnect '/sbin/chat -v -f /etc/ppp/gprs-disconnect-chat'
#####################################################################################

#/etc/ppp/chap-secrets
"cmnet" *  "cmnet" *
#####################################################################################

#/etc/ppp/gprs-connect-chat
# chat script for China Mobile, used HuaWei GTM900-B GPRS module.
TIMEOUT         15
ABORT           "DELAYED"
ABORT           "BUSY"
ABORT           "ERROR"
ABORT           "NO DIALTONE"
ABORT           "NO CARRIER"
TIMEOUT         40
''              \rAT
OK    ATS0=0
OK              ATE0V1
OK              AT+CGDCONT=1,"IP","CMNET"
OK              ATD*99***1#
CONNECT         ''
#####################################################################################

#/etc/ppp/gprs-disconnect-chat

ABORT  VOICE
ABORT  ERROR
ABORT  RINGING
TIMEOUT  12
""  \\k\\k\\k\\d+++ATH
"NO  CARRIER-AT-OK" ""
#####################################################################################

#/etc/ppp/pap-secrets
"cmnet" *  "cmnet" *
#####################################################################################

以上一共有5个文件,大家可以分门别类的放好就ok了。

最后当然要chmod 一下了,给他们可执行的权限哈。。

然后在运行#pppd call /etc/ppp/peers/gprs 就ok啦。。。

最后,我想说,以上的脚本不是通用的,每个开发板的环境各不相同,大家遇到的问题肯定是千奇百怪的,所以

有什么问题,大家可以一起讨论,共同进步!!!!!!!!

以上脚本,借鉴了网络上的很多文章,谢谢我们伟大的工程师们,,^_^


另外类似的一篇:http://blog.youkuaiyun.com/heiniaoyuyouling/article/details/5694792


我们的gprs拨号上网已经做好了,当初做这个东西的时候对面这方面的东西一点也不懂,好在网上很多前辈有自己的经验介绍,少走了不少冤枉路。现在我也把自己GPRS拨号上网的东西总结下,如有错误请大家及时给我纠正。

      网上大部分的GPRS案例都是华为GTM900模块的,我们的拨号用的是中兴的ME3000模块,模块对拨号程序是没有影响的。一个可以拨号上去另一个也可以拨。

      我先介绍下我参考主要资料:http://blog.chinaunix.net/u3/90973/showart_1998886.html博客,我用的pppd拨号,我本身是要移植到达芬奇平台上面的,本人移植过程中没有遇到什么问题,感觉移植很是方便。其他的我也没有怎么试。我推荐大家使用这个拨号。

      我建议大家实现GPRS拨号的不要一开始就在网上拷贝几个脚本直接运行,有可能一下你就成功了,这是有可能的。但是你还是不知道GPRS到底是怎么实现拨号的,建议大家先去看看拨号的原理和各个阶段分别实现什么功能,好好的阅读你的拨号模块的说明文档,这对拨号成功后上网功能的实现是很有帮助的。

      当你对拨号原理和模块的使用方法了解以后就可以开始实现拨号了。

      我建议你分两步走,第一步可以在windows环境下实现这个拨号这个功能。这里主要难点是使用GPRS模块在xP上面新建一个为模块拨号的modem。至于方法你可以在网上找一下,这个功能我实现,但是具体的步骤我不记得了,如果实现成功了电脑的链接速度就会显示171.2k,过程不难。这个过程可以让你了解GPRS拨号的过程和一些at命令。

      第二阶段可以在linux下面拨号了,我使用的pppd拨号主要是以下几个脚本:第一个是拨号参数配置文件,其中最重的两个参数端口名称和波特率。我把我的参数配置文件贴出来:

 

     

#/etc/ppp/peers/gprs
# This is pppd script for China Mobile, used Huawei GTM900-B GPRS Module
# Usage:   root>pppd call gprs
/dev/ttyUSB0//端口名称
9600//波特率
nocrtscts//无流控制
mtu 2000//最大发送字节数
mru 2000//最大接收字节数
modem
#noauth
debug
nodetach
#hide-password
usepeerdns
noipdefault
defaultroute
user "cmnet"//我拨号用的是中国移动,联通也是这个名字
0.0.0.0:0.0.0.0
ipcp-accept-local
ipcp-accept-remote
#lcp-echo-failure  12
#lcp-echo-interval 0
#noccp
#novj
#novjccomp
#persist
connect '/usr/sbin/chat -s -v -f /etc/ppp/gprs-connect-chat'
#connect '/bin/chat -v -s -f /etc/ppp/gprs-connect-chat'//这里是拨号的时候调用一个验证脚本,账号加密用的
#disconnect '/bin/chat -v -f /etc/ppp/gprs-disconnect-chat'

我的校验文本上是gprs-connect-chat的具体内容是:

#/etc/ppp/gprs-connect-chat
# chat script for China Mobile, used ZTE ME3000 GPRS module.
TIMEOUT         15
ABORT           "DELAYED"
ABORT           "BUSY"
ABORT           "ERROR"
ABORT           "NO DIALTONE"
ABORT           "NO CARRIER"
TIMEOUT         40
''              /rAT
OK  AT*TSIMINS?
OK  AT+ZSTR=2
OK  AT+CPAS
OK  AT+CSQ
OK  AT+COPS?
OK  AT+CREG?
OK              ATS0=0
OK              ATE0V1
#OK  AT+CGDCONT=1,"IP","UNINET"
#OK             AT+CGDCONT=1,"IP","uninet"
OK              AT+CGDCONT=1,"IP","CMNET"
#OK  ATDT#777             
OK  ATDT*99***1#
CONNECT         ''

参数文件配置好之后,介绍下拨号程序脚本文件,gprs_dialup.sh

#!/bin/sh
dns1=" "
dns2=" "
cd /etc/ppp/peers
pppd call gprs&//通过pppd拨号调用gprs参数配置文件,利用模块进行拨号,下面程序是为了GPRS程序可用了写的,简言之就是仅仅完成拨号,我们的拨号依然是一个玩具,不能给别人用
echo "pppd ok"
sleep 12
echo "sleep ok"
cp -rf /etc/ppp/resolv.conf /etc/
sed -n '1p' /etc/resolv.conf > /etc/ppp/primarydns
sed -n '2p' /etc/resolv.conf > /etc/ppp/seconddns
dns1=`cut -f 2 -d ' ' /etc/ppp/primarydns`
dns2=`cut -f 2 -d ' ' /etc/ppp/seconddns`
echo $dns1
echo $dns2

resolv.conf这个文件是拨号成功后记录网络服务提供商的dns的域名服务器的IP的,这个文件时非常重要的。因为以后的拨号软件的健壮性是靠它来实现的。

这样应该就可以进行拨号了,如果有什么问题,可以看下是不是以下原因:sim卡有无,GPRS服务是否开通,模块的波特率是否配置正确,端口名称是否正确等等。

我这里GPRS拨号的总结对GPRS拨号上网部分总结不是非常的细致,主要原因是我在做这个的时候晕倒的主要问题并不是GPRS拨号这部分,而是如何使GPRS拨号尽可能的稳定比如说断点续拨,异常处理等等。后面的处理才是最麻烦的。不是有经验的人指导是比较难处理后面的环节的,所以我把拨号的细节说的不是很清楚,大家要多多的自己慢慢钻研。如果有问题可以可以留言,有能力一定帮你。

顺便说一下联通和移动的拨号所用的拨号脚本和拨号的配置文件时完全相同的。不要奇怪,这是因为联通原来是CDMA网络,后来联通重组将自己的CDMA网络划分给了电信,自己加入了GPRS网络,如果你拨号成果你就会发现移动和联通的DNS服务器IP地址是相同的。




车载以太网:IPCP协议中的SID、OPID、SenderHandle详解 阅读详情

相关推荐

【信息科学与工程学】【通信工程】第八十六篇 通信网络设备及通信网络组网的所有学科知识01

编号001类型网络虚拟化与覆盖技术网络领域数据中心网络子领域大二层网络 / 网络虚拟化核心数学方程式/算法模型核心算法:VXLAN封装与解封装。关键在于24位VNI(虚拟网络标识符)到物理网络的三层IP地址的映射。封装:收到原始以太帧后,为其添加 VXLAN 头部(含 VNI)、外层 UDP 头(目的端口 4789)、外层 IP 头(源 IP 为本地 VTEP IP,目的 IP 为对端 VTEP IP)以及外层 MAC 头。解封装:对端 收到报文后,剥离外层头部,根据内层帧的目的 MAC 和 VNI 进行二

weixin_49199313的博客 839

GPRS数据传输设计(五)PPP协议概述

<br /><br />3.3 PPP协议<br />随着互连网的发展,网络上出现了大量的支持TCP/IP协议的主机,这些主机中的大部分通过局域以太网连接,其它的大部分主机则通过公共广域网(比如X.25或公用数据网)进行连接。很少有主机通过串行链路建立连接,然而事实上串行链路是一种最古老的通信方法,绝大多数主机都支持串行链路。其中的原因就是没有一个标准的封装协议。点对点通信协议(Point to Point Protocol, PPP)就是因此而产生的。PPP提供了一种在位同步链路和8位异步链路上封装数据的

Charles_FJ_Sum的专栏 1739

GPRS应用中TCP IP PPP的基本概念

GPRS应用中TCP/IP/PPP的基本概念 GPRS应用中TCP/IP/PPP基本概念:(CDMA的原理与此差不多) 实际上GPRS DTU上实现的是协议栈是TCP/IP Over PPP。我们在使用时必须要有一些相应的概念。因此在下面我们就与SARO-1010P使用相关的一些事项作一些简要的说明,如果您想详细了解这些协议,请参见相关书籍:

sim900芯片—GPRS模块ppp拨号上网

----------------------------------------------------------------------- Cross compiler:arm-linux-gcc-4.5.4 Linux kernel version:linux-3.0 Development board:fl2440 Author:  Yuzhonghan -----------

KarinaCristall的博客 4003

FortiOS路径遍历漏洞CVE-2022-41328实战复现:从环境搭建到漏洞利用全记录

本文深入解析FortiOS路径遍历漏洞CVE-2022-41328,从漏洞背景、影响范围到技术原理进行全面剖析。提供详细的漏洞复现环境搭建步骤和实战利用方法,并给出官方修复方案与临时缓解措施,帮助企业有效防御此类防火墙漏洞风险。

weixin_30485379的博客 522

一文搞懂【Linux 搭建 Dread Hunger 服务器】附本体及Docker部署集群方案

看直播发现了五花八门的开服器和版本,一时兴起按官方文档进行了搭建尝试,所以我的版本基于官方Stream2024.01.10更新的版本,也就是停服时的玩法,应该可以根据mod和补丁魔改成更那些开服器一样的版本,本文不做谈论,注重服务器搭建,毕竟8个人不可能在一个局域网里乱象:首先,我看了大量教程视频,一类是开服器的推广,另一类自建的基本采用Windows搭建,我觉得最离谱的是大部分教程都会教你买一台远程Windows虚拟机???

LHmine的博客 3987

汽车以太网对TCP/IP协议簇的应用

汽车以太网与传统以太网的主要区别在于物理层及应用层,而网络层及传输层大多参考传统应用,即TCP/IP协议簇(TSN暂不讨论)。使用传统网络TCP/IP协议簇,既能加快汽车以太网数据传输的速度,又能与因特网无缝连接,从而实现车内与车外的信息交互。同时,还具有良好的扩展空间以及支持新增上层应用协议的传输。 OSI(开放系统集成)模型是通信行业的基本模型,具体规定了每一层所应具备的功能: ...

轮子工厂 5130

手把手教你:在联想/戴尔笔记本上安装华为电脑管家,实现多屏协同(附详细避坑步骤)

本文详细指导如何在联想、戴尔等非华为笔记本上安装华为电脑管家,实现多屏协同功能。从硬件兼容性检查到定制化安装流程,再到功能调优与异常处理,提供了一套完整的解决方案,帮助用户突破品牌限制,享受华为生态的高效办公体验。

weixin_30251829的博客 851

深入解析PPP协议与LWIP实现:从原理到实战

本文深入解析了PPP协议的工作原理及其在LWIP中的实现。详细阐述了PPP协议从链路建立、认证到网络层协议协商的五阶段状态机,并重点剖析了LCP与IPCP的协商机制。通过实战代码示例,指导开发者如何在嵌入式系统中利用LWIP的pppos接口实现PPP连接,并提供了常见问题的调试技巧与避坑指南。

q5r6s7的博客 922

Win11任务栏图标消失?快速恢复指南

任务栏图标消失是Windows 11操作系统中常见的问题之一,但通过上述方法,用户通常可以轻松解决这一问题。无论是重启Windows资源管理器、使用命令提示符修复、检查系统更新和设置,还是考虑重装系统,都可以帮助用户恢复任务栏图标的正常显示。希望本文的介绍能对用户有所帮助,让Windows 11的使用更加顺畅和愉快。

mmoo_python的博客 5411

最新Python爬虫实战(入门爬虫篇)——案例20:某股票数据采集(详细爬虫思路截图+抓包动图演示+完整爬虫代码+详细注释)

本次案例针对某股票行情网的静态HTML页面,实现了全市场股票数据的全自动化爬取,覆盖了从抓包分析、请求模拟、数据解析到数据存储的完整爬虫流程,非常适合入门学习者巩固基础,核心知识点和实现要点总结如下:首先是页面分析的核心逻辑,静态HTML页面的数据爬取,核心在于通过浏览器开发者工具,完成完整的抓包分析和标签结构定位。我们不需要像动态页面那样找隐藏的API接口,只需要确认数据在主文档的HTML源码中,然后通过元素选择器,精准找到每个字段对应的标签,总结出统一的标签结构规律,就能实现批量数据提取。

努力让自己发光,对的人才能迎着光而来 19万+

数据终端设备与无线通信模块之间串行通信链路复用协议(TS27.010)在嵌入式系统上的开发

数据终端设备与无线通信模块之间串行通信链路复用协议(TS27.010)在嵌入式系统上的开发摘要:介绍3GPP提出的一种终端设备和移动台串行通信的复用协议及嵌入式Linux系统下串行通信模块的结构和功能划分,在此基础上,提出一种实现这一复用协议的方案。目前,这一设计方案已经开发成功并广泛应用于所开发的车载移动终端产品中。 关键词:TS27.010 串行链路复用 GPRS移动终端 嵌入式Lin

2256

【Claude】组织级认证限制报错已解决(4 种)

报错被禁用的是什么谁能解除应急方案整个 Console 组织Anthropic 支持换账户 / 订阅凭证API key 认证方式你的组织管理员用订阅/login订阅 OAuth 登录你的组织管理员用 API keyRoutines 功能你的组织所有者手动计划任务替代共同排查模式/status确认当前凭证;检查环境变量;看清报错消息里命名的是什么(key?组织访问?),对症清除;管理员层面的限制,找管理员解锁。

博客 1万+

数据终端设备与无线通信模块之间串行通信链路复用协议(TS27.010)在嵌入式系统上的开发【转】...

转自:http://blog.youkuaiyun.com/hellolwl/article/details/6164449 目录(?)[-] 协议介绍 模块协议介绍 1            命令包格式 2            数据包格式 下串口通信系统的组成 协议的实现 1            协议实现时的考虑 2            的实现方案...

weixin_33725126的博客 199

从基础到前沿:深度剖析光束整形与扫描技术

光束扫描的核心在于通过特定手段改变光束的传播方向,从而实现对目标区域的扫描。在这个过程中,振镜、声光偏转器、电光偏转器等元件发挥着关键作用。振镜是一种常见的光束扫描元件,它主要由电机、反射镜和透镜组成。当电机驱动反射镜旋转时,根据光的反射定律,反射镜会改变入射光线的反射方向。假设初始时光束垂直入射到反射镜上,当反射镜绕某一轴旋转一定角度时,光束的反射方向就会相应改变,从而实现光束在空间中的扫描。在激光打标设备中,通过控制振镜的快速摆动,能够使激光束在工件表面快速移动,完成各种图案和文字的标记。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 2098

企业级托管钱包架构设计与MPC密钥管理:基于Go语言的生产级实践

本文探讨了2026年Web3生态中企业级托管钱包的技术架构与实现方案。文章指出,传统私钥管理模式已无法满足机构级资产管理需求,而基于多方安全计算(MPC)和门限签名(TSS)的技术方案成为主流选择。研究分析了托管钱包的四层架构设计,详细解读了MPC的核心技术原理,包括分布式密钥生成(DKG)和签名协议演进。通过Go语言实现案例,展示了密钥分片管理、DKG流程和交易签名等核心模块的代码实现。文章还提出了生产部署的安全原则、容灾设计和监控体系,并讨论了密钥撤销等现存挑战及TEE融合等未来趋势。研究为构建安全、高

分享AI、区块链技术及应用,未来已来 81

Cadence封装库导入实战:Ultra Librarian从下载到Allegro全流程

在EDA工具链中,封装库管理是硬件设计的基础环节,涉及原理图符号与PCB封装的匹配、焊盘堆叠定义及管脚映射等核心概念。其原理在于通过标准化数据转换,确保电气连接与物理布局的一致性,从而提升设计可靠性和效率。在工程实践中,快速获取并验证元器件封装,能显著缩短开发周期,尤其适用于消费电子、通信设备等领域的PCB设计。Ultra Librarian作为封装库聚合平台,支持一键下载Cadence兼容文件,但导入OrCAD Capture和Allegro时需注意路径配置与管脚编号检查。本文详解从搜索到导入的完整操作,

weixin_34297704的博客 489

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

如何学好嵌入式?

嵌入式开发可以简单地分为软件和硬件两个方向, 软件的主要是工作在应用层上面,利用底层封装好的API进行开发,就业岗位上来说口径比较宽,容易转型为C++工程师、后台工程师、运维工程师等~ 硬件的主要是工作在底层,根据需要对板子的硬件写对应的驱动和裁剪相对应的内核代码,留出接口给上层调用,需要看得懂各种开发板的原理设计,能够自主地布局,虽然学习的深度要求比较高,不过薪资普遍偏高,替代性也是比较低。...

weixin_41501825的博客 603

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

ESP32+MicroPython通过4G模块实现HTTP GET请求

HTTP GET是物联网设备与云端交互最基础的网络请求方式,其本质是在TCP连接之上发送符合RFC 7230规范的文本请求报文;核心原理包括DNS解析、三次握手建连、请求行与Host头构造、响应头解析(如Content-Length)及分块接收机制;该技术具备低耦合、高可控性优势,适用于无Wi-Fi覆盖的野外、车载与工业现场等边缘场景;结合MicroPython的轻量脚本能力与4G模块的AT指令控制,可快速构建可复用的嵌入式HTTP客户端框架,广泛应用于传感器数据上报、远程配置同步等典型物联网任务。

weixin_32389853的博客 380

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

5G AIoT时代嵌入式开发:从模组选型到硬件集成的实战指南

在物联网(IoT)和嵌入式系统开发中,无线通信模组是实现设备联网与数据交互的核心组件。其工作原理基于蜂窝移动通信技术(如5G、LTE Cat 1、NB-IoT),通过射频电路和协议栈完成与基站的连接及数据传输。该技术的核心价值在于为海量终端设备提供差异化、高可靠的连接能力,是构建智能物联(AIoT)系统的基石。其应用场景广泛,从需要高速率、低时延的AI边缘计算网关和5G CPE,到注重超低功耗与广覆盖的智能表计和环境监测设备,都离不开精准的模组选型与集成。本文聚焦于5G AIoT融合趋势下的实战开发,深入剖

weixin_30388677的博客 381

DM368开发 -- 华为3G/4G模块移植

一、模块介绍用的是华为 ME909s-821 Mini PCIe。 模块介绍,参看: ME909s-821 Mini PCIe 规格参数其他模块,参看:华为全系列模块 产品介绍ME909s-821 Mini PCIe是ME909s-821的变形版本,标准Mini PCIe封装;支持下行150Mbps...

Summer_Chun的博客 2000

SIM7600CE 5G模块预研高速通信

本文深入解析SIM7600CE多模通信模块的技术特性,涵盖其5G NSA支持、LTE回退能力、集成协议栈与GNSS功能。通过实测性能、开发示例和应用场景,展现其在车载监控、工业物联网等领域的高性价比与稳定性优势,适合高速通信预研项目。

weixin_36122351的博客 349
上一篇: 嵌入式车载平台的GPRS网络实现(转)
下一篇: PPP、PPPOE、PPTP、L2TP应用场合
shareCode
博客等级 码龄15年 125粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值