我是靠谱客的博主 搞怪钻石,最近开发中收集的这篇文章主要介绍物联网项目开发笔记一 物联网项目的组成二 物联网设备通信三 开发语言的选择四 物联电路术语填坑,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一 物联网项目的组成

一般来说物联网项目都分5个部分,需要多个部分合作完成

1.手机app+web后台管理部分
2.物联网设备通信服务器部分
3.物联网设备微型芯片部分
4.电路板设计部分
5.模具设计部分

软件公司一般只负责 1,2,3项

二 物联网设备通信

一般来说 有http(长连接), socket,mqtt 三种 通信方式

从灵活性来说应该是mqtt 和http(长连接) 比较简单
socket 需要自己设计 顶层 和 中间层, 但是程序可以做的很紧凑

三 开发语言的选择

如果是mqtt 和http 建议用 java语言,组件完善稳定
如果是socket 建议用python 开发,bytes 和bytearray 提供了足够的便捷
这种python 语言 对于字节数组的处理比java 优秀太多

别去追求软件极致性能,那都是可笑的, 只要程序运行稳定就行.

四 物联电路

主板电路+微型芯片+通信模块 三个部分组成,作用如下
主板控制 元器件
微型芯片 植入程序 控制主板工作
通信模块 植入参数 连接芯片和互联网服务器

术语

透传(通信模块)

透传是指 数据输入和输出实时且一致
网络服务器发出的数据经过通信模块被接力传送给芯片,
或者芯片发出的数据经过通信模块后传给网络服务器
这种现象就是透传,
注意:通信模块一般可以在传输的数据头部,添加固定文本

AT指令

AT指令 就是 在微型芯片和通信模块之间的通信协议字符串
对于串口配置工具, 各家芯片设计都不一样 AT指令也不一样

通信芯片配置

有的电脑没有 串口 可以购买usb转com 线
必须安装 对应的usb to serial 驱动才能使用
有的芯片配置号重启需要25s左右
芯片有配置模式和透传模式 两种
芯片的透传模式可以有http tcp/udp mqtt 串口等模式
芯片可以有多个端口, 每个端口都可以配置一种透传模式

填坑

python语言细节

  1. finally return
    return 即使在finally 之前 finally 后的内容也会执行
    如果 finally 前后都有return 命令 只会执行 finally之后的return
  2. “{}”.format( tuple)
  3. split(n) 可以限定分割数量 =n+1
  4. tcp 非阻塞模式 无法配置 keepalive
  5. 多线程 是软线程 不受cpu制约 可以并行至少1024个多线程

redis expire 键是一个bug,多程序操作时 不准确

socket 坑

  1. socket 接收端即使离线,发送端也无法立即知道 所以为了稳定 必须在发送后 ,监听接收到的信息,如果==‘ok;’
  2. socket 对方如果在接收处理中,继续沿着当前的socket发送 数据 是没用的
  3. socket阻塞理解

    tcp 阻塞模式 适合 1000以下的接入
    tcp 非阻塞模式 和多路复用模式 更适合建立类似http一样的服务器,满足1000以上的访问量

  4. python socket close 前 必须 shutdown(2) 否则大量的socket 会假死
  5. socket close 服务端 强制主动关闭引发 大量 TIME_WAIT 套接字 ,

    通过 设置SO_LINGER属性=1,0 强制断开, 会引发客户端数据延迟到达的问题
    设置 SO_REUSEADDR实现地址复用, 更适合在客户端使用,在服务端没有意义

调试

  1. 通信模组+ 控制芯片小板 + 电路主板 , 研发过程 任何一个部分更新都会影响整体使用
  2. txd rxd 接线接反导致无法通行的问题, 通信模块针脚与主板短路引发的故障
  3. 天线因为垫片太厚 导致内芯接触不良, 导致模块无法上网
  4. 天线与模块的接触点 没有扣紧引发的 模块无法联网

物联网卡

  1. 4g物联网卡 流量超过套餐时无法使用, 流量计算 公式: 每次上下行 不足1k时, 算为1k, 所以 一个心跳ping 也要算1k,如果太频繁 会导致流量使用过快
  2. 4g物联网定向卡 如果更换设备 会被冻结无法使用
  3. 4g 模块在一些地方信号会中断, 有时在地面无信号,在桌上就有信号
  4. 4g 模块天线选型很关键

最后

以上就是搞怪钻石为你收集整理的物联网项目开发笔记一 物联网项目的组成二 物联网设备通信三 开发语言的选择四 物联电路术语填坑的全部内容,希望文章能够帮你解决物联网项目开发笔记一 物联网项目的组成二 物联网设备通信三 开发语言的选择四 物联电路术语填坑所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部