能远程控制的设备,一般都有内置芯片来接受信号。以前的设备,像空调之类的,一般内置GSM芯片,能接受手机短信信号。更据处理信号,可以做出不同的远程操作。现在的 一般都内置WIFI芯片,可以说就具有了联网功能,可以通过网络达到控制的目的。

那么问题来了,怎么联网?

1、串口配置

大部分wifi芯片都支持串口命令控制wifi芯片的所有功能。这时候就需要通过串口命令区控制wifi芯片了。这个就需要文档来对照操作。

2、ap模式下的网页形式配置

ap (所谓ap模式就是把wifi芯片启动成像路由器一样,可以让其他wifi终端连接到这个wifi芯片)模式下的网页形式是通过wifi终端手动搜索wifi芯片开的ap服务,然后连接该wifi芯片。接着在wifi终端打开浏览器,访问wifi芯片的地址(比如: http://192.168.0.1 ),由于wifi芯片本来支持ap模式,它已经是一个简单的网站服务,通过这网页去获取权限设置wifi芯片提供的设置项服务,比如重启连接到路由器等等。

3、smartconfig

smartconfig 是一个面向软件开发者的智能网络配置功能。硬件开发商无需关系自己的wifi芯片怎么连接到路由器,也无需知道动态的路由怎么被切换。因为smartconfig时通过终端软件去让wifi芯片连接到路由器的。具体实现原理参考:智能硬件接入云平台解决方案

4、微信硬件平台

微信硬件平台里边有一个叫做airkiss 技术,下面的两个产品都支持这个技术,对于实现智能网络配置功能,它是一个相对完美的平台和方案.详细的学习请自行进平台官网看文档.

如果不考虑接入其他平台,以传统的方式来给设备配网的话,常用第2/3种,更多是第3中,毕竟更先进,速度更快。

现在这里着重介绍 第2种 和 第3种 方式:

ap模式

原理如图所示:

APP 配置 手机连接到 智能硬件(WIFI芯片 的AP),构建成一个局域网

连接步骤:

a. 初始化智能硬件,使智能硬件设备进入 AP 状态

b. 手机切换 WiFi:接入上述 设备出现的 WiFi 名字(SSID)的网络

c. 手机相应软件上设置要接入的无线网络(WiFi 名字和密码)

d. 设备根据手机软件输入设定的 WiFi 配置信息连入当前的无线网络(手机端不需要操作)

e. 手机切回正常的 WiFi,配置完成后会发现新添加的设备

smartconfig「一键配置」

原理如图所示:

智能硬件处于混杂模式下,监听网络中的所有报文;手机APP将SSID和密码编码到UDP报文中,通过广播包或组播报发送,智能硬件接收到UDP报文后解码,得到正确的SSID和密码,然后主动连接指定SSID的路由,完成连接

a. 手机连上 WiFi,开启 APP 软件,点击"添加新设备",进入配置界面,输入手机所在 WiFi 密码,点击配置

b. 设备根据输入的 WiFi 配置信息(SSID 和密码)连入 WiFi(手机端不需要操作)

c. 配置完成后 手机软件上会发现新添加的设备

附上一个Jar包下载:https://github.com/xuhongv/XSmartConfig-master/raw/master/Asset/XSmartConfig_V1.0.jar

感谢下面这些博客:

文章借鉴:https://blog.csdn.net/xh870189248/article/details/79328257

https://segmentfault.com/a/1190000008438750

https://www.jianshu.com/p/a852d5ca6a44

android : 2、从头开始开发一个控制硬件的app(给设备联网)相关推荐

  1. 一个html写的app首页,如何快速开发一个简单好看的APP控制页面

    原标题:如何快速开发一个简单好看的APP控制页面 导读 机智云开源框架为了让开发者快速开发APP,已将用户登录,设备发现,设备配网等功能做成了各个标准模块,仅保留控制页面让开发者自行开发设计,节省了开 ...

  2. Android | 教你如何开发一个拍照翻译小程序

    华为机器学习服务(ML Kit) 提供机器学习套件,为开发者应用机器学习能力开发各类应用提供优质体验.得益于华为长期技术积累,ML Kit 为开发者提供简单易用.服务多样.技术领先的机器学习能力,助力 ...

  3. 【发际线大作战】Android Studio使用Intent和ListView开发一个联系人列表的APP

    要求 Intent和ListView的结合使用 目标:1. 掌握不同Activity之间跳转的方法,以及如何利用intent和bundle进行数据的传递:2. 掌握ListView控件使用的基本方法. ...

  4. 开发一个属于自己的app

    " 开发一个属于自己的app" 打开手机,可以看见手机上各种各样的应用,每一款软件都是别人开发的,想想就觉得不满足,怎么就没有我自己的app呢!想法一旦产生就止不住的往外流露.那怎 ...

  5. 勇敢跨越,从0到1开发一个属于自己的App

    1 前言 码字不易,且行且珍惜. 之前听一个老铁说,一个开发者的真正蜕变,要从真正做一个属于自己的App开始,你只有自己一个人摸索.研究,真正靠自己踏上这条路,才能尝尽这条路上的酸甜苦辣,才会成长!于 ...

  6. 开发一个微信小程序/APP一般需要多少时间,多少钱?

    开发一个微信小程序/APP一般需要多少时间,多少钱? 微信小程序/APP开发的工期和费用估算需视功能需求的多少和难易程度而定,需求不明的情况下很难给出恰当评估. 在湃点网络定制平台,一对一的专业的顾问 ...

  7. 如何使用Flutter+SpringBoot+Mysql开发一个简易的抽奖APP(Android)教学

    如果你需要项目资源,欢迎来到我的个人博客:https://brath.top/2023/02/24/%E3%80%90Flutter&SpringBoot%E3%80%91%E5%A6%82% ...

  8. 一个程序如何连接到外网_如何从头开始开发一个微信小程序

    网上有很多的人在问:怎么开发一个微信小程序?今天我来给大家详细讲讲如何申请开发并部署一个微信小程序,大家看完这篇文章后就能够自己运营一个属于自己的小程序了. 现在的小程序有百度小程序,头条小程序,支付 ...

  9. 准备开发一个智能硬件,得先看这篇文章!

    一个智能硬件生命周期内所需要经历的全部流程,以及产品经理需负责的相关工作分为以下各阶段, 我们一起看看这个过程有多长,又有哪些经验可以分享. 一.市场分析 如同互联网产品一样,除了在立项之前需要对市场 ...

最新文章

  1. 软件缺陷预测的两种定义
  2. 附录4:Matplotlib实例记录
  3. python计算机知识点,最新最全Python基础的知识点复习完整版.pdf
  4. boost::hof::apply_eval用法的测试程序
  5. PHP正则表达式及实例
  6. VS2010中水晶报表安装应用及实例
  7. MVC (jsp + servlet + javabean) 以及jdbc
  8. DataGridView分页
  9. WSL:ssh 本地与阿里云数据交互
  10. java私有协议开发_priProto 基于netty5基于私有协议栈设计
  11. TensorFlow实战minist数据集 softmax回归分类(一)
  12. JAVA对象转Json对象
  13. 有关php外文期刊,口腔外文杂志、收录数据库、参考信息汇总
  14. 数据库mysql从入门到放弃
  15. Microsoft Teams 报错:We‘re sorry-we‘ve run into an issue.
  16. 搭建Hadoop集群后一直使用的start-all.sh到底是个什么操作
  17. 网购可到家门口的报亭提货了
  18. #ifndef的详细意思
  19. 快速填充表格中的空单元格
  20. 阿里云主机Linux服务器配置步骤

热门文章

  1. 你们想要的端游游戏源码素材他来咯 他来咯
  2. 软考高级信息系统项目管理师系列之四十五:信息系统综合测试与管理
  3. 程序员架构修炼之道:如何设计“易理解”的系统架构?
  4. 人人都是产品经理(四)——读后感
  5. 计算机原理复杂模型机改动,计算机组成原理之复杂模型机设计实验
  6. linux替换指定字符串函数,C语言实现字符串替换函数
  7. 用人工智能帮我做PPT啦,试试chatPPT
  8. Android群英传神兵利器读书笔记——第一章:程序员小窝——搭建高效的开发环境
  9. 如何通过聊天拉近与客户的距离?
  10. OKEx徐坤:Filecoin的机遇与风险 | 星际崛起IPFS云峰会