博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
物联网平台Node-red初涉——访问搭建的简易服务器
阅读量:2109 次
发布时间:2019-04-29

本文共 2898 字,大约阅读时间需要 9 分钟。

最近,基于python的flask框架,搭建了一个简易的本地服务器。目前,可以通过浏览器访问服务器,并查看或传递数据。

一、搭建服务器

基于flask框架搭建服务器的代码如下:

from flask import Flask, request, render_templateimport jsonapp = Flask(__name__)content = {
}@app.route('/name', methods=['POST', 'GET'])def get_name(): ''' 处理客户端上传的JSON数据 :return: ''' #content = None global content if request.method == 'POST': content = request.get_json() #name = request.json.get('name') # get_data = request.args.to_dict() # name = get_data['name'] # content['name'] = name if content is None: print("当前无任何数据") else: print(content) # print(name) print(type(content)) return dict(name="123", fan="100") #return elif request.method == 'GET': #name = request.args.get('name', '') #name = request.json.get('name') # if request.args is not None: # get_data = request.args.to_dict() # name = get_data['name'] # content['name'] = name if content is not None: #print(name) print(content, type(content)) return content #content = request.get_json()#主要使用该路由,上个路由在本例中没用到,但是可以用于学习过程中调试使用。#app.route 就是设置路由的过程@app.route('/shezhi', methods=['POST', 'GET'])def set_dist(): canshu = {
'x': 50, 'y': 80} setdist = 50 #设置初始值 if request.args.get("setdist") is not None: setdist = request.args.get("setdist") if request.form.get("setdist") is not None: setdist = request.form.get("setdist") print(setdist) # if request.args is not None: # canshu['x'] = request.args.get("x") return render_template("myhtml.html", msg="设定成功", valuedist=setdist, circles_x=canshu['x'], circles_y=canshu['y'])if __name__ == "__main__": app.run(host='0.0.0.0', port=5000, debug=True)

其中,return render_template(“myhtml.html”, msg=“设定成功”, valuedist=setdist, circles_x=canshu[‘x’], circles_y=canshu[‘y’])主要是返回了一个html格式模板。

二、创建html文件

需要在PyCharm中,创建一个myhtml.html文件(myhtml是文件名,可以随便命名)。上述通过flask搭建服务器的程序写在了atvi.py里,如下图所示。(其余.py文件跟本例无关,可忽略)

在这里插入图片描述
myhtml.html代码如下

    
Title x坐标: {
{circles_x}}

y坐标: {
{circles_y}}

当前设定距离: {
{valuedist}}
{
{msg}}

三、启动服务器

上述工作完成之后,直接run atvi.py即可。跑起来之后会显示下图中的情况。

在这里插入图片描述

四、通过浏览器访问

打开浏览器,输入http://127.0.0.1:5000/shezhi 显示如下图所示。

在这里插入图片描述
这就实现了浏览器访问服务器的过程。

五、Node-red访问服务器

这里目前就不科普如何搭建和配置Node-red。网上有很多相关教程,按照教程配置即可。

第一步:打开cmd,输入node-red即可启动。如下图所示。
在这里插入图片描述
第二步:打开浏览器,输入http://127.0.0.1:1880/。进入到node-red搭建页面。找到并拖入相应的程序块。
在这里插入图片描述
第三步:双击Button进行配置,这个块感觉没有过多的配置。主要是在Payload处输入一个空格,防止乱码。
在这里插入图片描述
第四步:双击text input,将Delay(ms)改为0(默认值应该是300)。
在这里插入图片描述
第五步:双击http请求(http request)进行设置。
在这里插入图片描述
第六步:设置完成之后,点击部署。依次点击下图中三个圆圈。
在这里插入图片描述
第七步:进入到控制台中。输入任意数字后,点击BUTTON。
在这里插入图片描述

结果

结果可以在服务器端查看到print的数字。

在这里插入图片描述
以上就是整个实现过程。本人对于node-red了解并不深入,仅有一些浅薄的知识。写这篇博文主要是进行一些记录和梳理(记忆力有限,担心自己会忘)。若有什么错误或者更好的思路,还请评论批评指正(抱拳)。

转载地址:http://gsfef.baihongyu.com/

你可能感兴趣的文章
UDP连接和TCP连接的异同
查看>>
hibernate 时间段查询
查看>>
java操作cookie 实现两周内自动登录
查看>>
Tomcat 7优化前及优化后的性能对比
查看>>
Java Guava中的函数式编程讲解
查看>>
Eclipse Memory Analyzer 使用技巧
查看>>
tomcat连接超时
查看>>
谈谈编程思想
查看>>
iOS MapKit导航及地理转码辅助类
查看>>
检测iOS的网络可用性并打开网络设置
查看>>
简单封装FMDB操作sqlite的模板
查看>>
iOS开发中Instruments的用法
查看>>
iOS常用宏定义
查看>>
什么是ActiveRecord
查看>>
有道词典for mac在Mac OS X 10.9不能取词
查看>>
关于“团队建设”的反思
查看>>
利用jekyll在github中搭建博客
查看>>
Windows7中IIS简单安装与配置(详细图解)
查看>>
linux基本命令
查看>>
BlockQueue 生产消费 不需要判断阻塞唤醒条件
查看>>