阿里云&树莓派通信记录

简介: 本文详细介绍如何使用阿里云服务器与小程序之间完成通讯。

前言

本人大三年级,这次的课程设计选题,需要使用微信小程序与树莓派完成通讯,在查阅一些相关内容后,决定使用阿里云服务器作为通信媒介,使用树莓派与阿里云服务器之间完成通讯,以及微信小程序和阿里云服务器直接按完成通讯,实现一些实现端-云互联,解决一些实际的复杂的问题。

这次阿里云为我们这次课程设计提供了免费的试用平台,高校学生免费算力 - 飞天加速计划

使用过程

在完成相关任务后,成功领取,在控制台中打开。
image.png
需要注意的是这里的公网IP需要认识一下。
image.png
在左边点击实例后,点远程连接,就可以打开服务器的终端进行操作,可以看到服务器已经拥有了python3环境。
使用ifconfig命令查看内网IP:
image.png
接下来需要需要将该8888端口,拉入防火墙白名单。
image.png
在服务器终端执行以下命令:

systemctl start firewalld
#看一下防火墙状态
systemctl status firewalld
#列出所有端口号白名单
firewall-cmd --list-all  
#添加一个8888端口为白名单
firewall-cmd --add-port=8888/tcp --permanent     
#更新防火墙操作
firewall-cmd --reload 

写一下服务器端的代码,python语言:

HOST = '172.25.137.140'        #注意这个是内网ip 可以通过ifconfig命令查看
PORT = 8888
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#绑定socket
s.bind((HOST, PORT))
#开始监听
s.listen(1)
print('Listening at port:',PORT)
conn, addr = s.accept()
print('Connected by', addr)
while True:
    data = conn.recv(1024)
    data = data.decode()
    if not data:
        break
    print('Received message:', data)
conn.close()
s.close()

可以通过文件传送命令将该文件传到服务器端,windows终端输入以下命令:
image.png

树莓派端代码:

HOST = '47.113.197.21'                 #公网IP
PORT = 8888
BUFSIZ =1024
ADDR = (HOST,PORT)
tcpCliSock = socket(AF_INET,SOCK_STREAM)
tcpCliSock.connect(ADDR)
while True:
     data1 = input('>')
     #data = str(data)
     if not data1:
         break
     tcpCliSock.send(data1.encode())
     data1 = tcpCliSock.recv(BUFSIZ)
     if not data1:
         break
     print(data1.decode('utf-8'))
tcpCliSock.close()

最终效果

两边同时运行代码,在树莓派端输入Hello World!:
image.png
可以看到服务器端接收到信息:
image.png
至此,树莓派与服务器端的通信已经打通,可以继续更加复杂的应用了。

使用感受

通过本次尝试树莓派与阿里云服务器之间通讯,虽然是第一次尝试,但并没有花费很多的经历,阿里云服务器的相关教程在官方网站上也介绍十分详细,使用的感受较好,希望本次课程设计任务能够顺利完成。

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8月前
|
存储 边缘计算 监控
【MODBUS】Modbus主站云端服务器和边缘设备部署区别
【MODBUS】Modbus主站云端服务器和边缘设备部署区别
93 0
|
XML 网络协议 Android开发
GB28181设备接入端如何实现校时?
在探讨这个问题之前,我们先看看GB/T28181-2016官方文档怎么说的,9.10.1章节校时基本要求提到: 联网内设备支持基于SIP方式或 NTP方式的网络校时功能,标准时间为北京时间。
220 1
|
8月前
I/O设备与主机信息传送的方式(程序查询方式,程序中断方式,DMA方式)
I/O设备与主机信息传送的方式(程序查询方式,程序中断方式,DMA方式
614 0
|
8月前
|
安全 定位技术 数据安全/隐私保护
多台电脑之间共享、传输文件数据:不借助数据线与软件的方法
多台电脑之间共享、传输文件数据:不借助数据线与软件的方法
325 1
|
存储 网络协议 数据安全/隐私保护
逆向USB设备共享:利用内网穿透让远程设备访问本地USB设备
逆向USB设备共享:利用内网穿透让远程设备访问本地USB设备
逆向USB设备共享:利用内网穿透让远程设备访问本地USB设备
I/O设备与主机信息传送的控制方式以及什么是中断
I/O设备与主机信息传送的控制方式以及什么是中断
278 0
|
数据采集 自然语言处理 网络协议
Powerlink协议在嵌入式linux上的移植和主从站通信(电脑和linux板通信实验)
Powerlink协议在嵌入式linux上的移植和主从站通信(电脑和linux板通信实验)
|
网络协议 物联网 数据安全/隐私保护
Wifi-nodeMCU-esp8266 建立热点同时作为服务器完成设备连接控制 | 学习笔记
快速学习 Wifi-nodeMCU-esp8266 建立热点同时作为服务器完成设备连接控制
Wifi-nodeMCU-esp8266 建立热点同时作为服务器完成设备连接控制 | 学习笔记
制定通信协议,实现单片机与PC机通信
制定通信协议,实现单片机与PC机通信
165 0
制定通信协议,实现单片机与PC机通信

热门文章

最新文章

下一篇
开通oss服务