找回密码
 注册
关于网站域名变更的通知
查看: 281|回复: 2
打印 上一主题 下一主题

基于ESP8266的物联网APP设计Socket

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-9-27 14:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
之前做了一个小的APP,可以与原子的ESP8266通信,实现发送字符串,如果你也恰好想要用到这类功能,希望这篇帖子能够帮助到你。
准备条件:
1.自身条件:
   (1)有一点点Java基础,不会也没太大关系。
2.硬件条件
   (1)一台电脑 安装好Android studio 与 串口调试助手
     (2) 两部手机(一部手机也可以,但需要路由器)
     (3) USB转TTL模块
好了,条件就这么多。

本文使用的是Socket通信,也就是套接字,具体概念有兴趣可以自行百度,本文不在介绍,因为没什么实际用处。我们只需要知道它可以与ESP8266 WIFI 通信,其他的先不管
Socket有两个主要参数 IP 和 PORT,也就是目标设备(ESP8266)在局域网下的 IP地址 和开放的端口,注意,IP地址由路由器或者手机热点分配,端口地址由模块 AT指令配置。

主要内容是这样的:

Socket mSocket;//新建了一个 socket 对象,但是没有分配内存等等,不可以使用
mSocket = new Socket(Ip,port);//分配了实体,此后可以由输出流输入流 写入 和读出待发送(接收)的数据
out
=
new
PrintStream(
mSocket
.getOutputStream());//获得输出流

out
.write((
"hello world!"
+
'
\n
'
).getBytes(
"utf-8"
));//写入输出流
out
.flush();//发送数据好了,主要内容就这么多,是不是很简单,快去试试吧。
注意有一个小坑,就是 new Socket(Ip,port);  这种与Socket有关的操作是不可以放在主线程之中的,因为Android规定了这些操作是会阻塞主线程的,解决办法就是放在一个子线
程之中操作,就可以了。

该用户从未签到

2#
发表于 2021-9-27 14:36 | 只看该作者
Socket有两个主要参数 IP 和 PORT

该用户从未签到

3#
发表于 2021-9-27 19:26 | 只看该作者
IP地址由路由器或者手机热点分配,端口地址由模块 AT指令配置
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-21 16:49 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表