小编nil*_*oid的帖子

Raspberry Pi上的龙卷风使用websockets以及监控串口Arduino通信

基本上,我希望实现的是基于画布的Web界面,通过Raspberry Pi控制Arduino.的使用情况下是用户导航到其显示画布.然后在移动滑块时,将websocket消息发送到Raspberry Pi上的Tornado服务器.Tornado然后向Arduino发送一条串行消息,改变LEDRGB值.到目前为止,我已经能够在开发人员Raspberry Pi Android HTML5实时伺服控制的文档的帮助下做到这一点.raspberrypi:8080

但是,通信只是从Raspberry Pi到Arduino的单向通信.我希望Tornado能够监控串口以将任何传感器数据恢复到前端.这是我不确定如何继续的地方.我能够使用Node.js来完成这样的事情,Node.js同时监视websocket消息和串行消息.

是否应该生成一个不断监视端口的异步进程?我已经看到了这种解决方案的几种选择.

  1. 有人建议tornado.gen.Task,但对于单个HTTP请求,不是针对常量串行数据.
  2. tornado.ioloop.PeriodicCallback 我可以设置每毫秒检查一次串行数据,但这听起来像很多开销.
  3. 我也看过像Swirl这样的独立工具.(根据它的Github回购, Swirl已经过时了)

或者我应该设置一个单独的Python应用程序来监视串行,然后与Tornado应用程序通信,它可以理解如下所示的内容?

  1. websocket消息使用websocket客户端
  2. ZeroMQ(工作示例:pyzmq/examples/eventloop/web.py)

所以有很多选择......有哪些建议和一些理由可以尝试或避免上述任何选项?

这就是我所需要的,并且需要将串行监控添加到:

import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web
import tornado.websocket

from tornado.options import define, options
define("port", default=8080, help="run on the given port", type=int)

class IndexHandler(tornado.web.RequestHandler):
    def get(self):
        self.render('index.html')

class WebSocketHandler(tornado.websocket.WebSocketHandler):
    def …
Run Code Online (Sandbox Code Playgroud)

arduino tornado websocket raspberry-pi

16
推荐指数
2
解决办法
1万
查看次数

C#MVC4 Web API - 生成的JSON应该返回对象而不是$ ref对象

我有一个使用EntityFramework for ORM的ASP.NET MVC 4 Web API应用程序.

在我返回的JSON中,在某些情况下,多个父节点存在相同的子节点.在这些情况下,子节点的第一次出现完全可见其所有成员.任何后续出现都会显示为第一次出现的$ ref.我希望每次在返回的JSON中显示完整的对象.

例如,而不是看到:

    [{
    "$id": "1",
    "userId": 1,
    "Badge": {
        "$id": "2",
        "badgeId": 1,
        "badgeName": "Gold"
        }
    }, {
    "$id": "3",
    "userId": 2,
    "Badge": {
        "$ref": "2"
        }
    }]
Run Code Online (Sandbox Code Playgroud)

我想看:

    [{
    "$id": "1",
    "userId": 1,
    "Badge": {
        "$id": "2",
        "badgeId": 1,
        "badgeName": "Gold"
        }
    }, {
    "$id": "3",
    "userId": 2,
    "Badge": {
        "$id": "4",
        "badgeId": 1,
        "badgeName": "Gold"
        }
    }]
Run Code Online (Sandbox Code Playgroud)

基本上我想摆脱JSON中的任何"$ ref".有办法吗?

谢谢!

json ref asp.net-mvc-4 asp.net-web-api

7
推荐指数
1
解决办法
2008
查看次数