【发布时间】:2015-09-19 07:42:44
【问题描述】:
我有一个从传感器读取值的 c++ 文件,我想在网站上动态显示这些值。所以我正在寻找一种将这些值(整数)从我的 cpp 文件传递到在网站上显示它们的 javascript 的方法。
我的第一个简单尝试是每秒从我的 cpp 脚本将值作为变量写入 js 文件。然后 Js 使用此文件作为源并在站点上显示其变量:
cpp:
fprintf(file, "var mx=%d, my=%d, mz=%d, ax=%d, ay=%d, az=%d, gx=%d, gy=%d, gz=%d;\n",
imu.raw_m[0], imu.raw_m[1], imu.raw_m[2], // M = Magnetometer
imu.raw_a[0], imu.raw_a[1], imu.raw_a[2], // A = Accelerometer
imu.raw_g[0], imu.raw_g[1], imu.raw_g[2] // G = Gyroscope
);
html/js:
<script src="./imu.js" type="text/javascript"></script>
现在的问题当然是我需要一直刷新页面,因为imu.js文件被网站缓存了。
我宁愿有办法直接将整数从 cpp 文件传递到 js 脚本。我读了一些关于 json 或 Googles V8 脚本的东西。但我想先听听你的建议。
顺便说一句,如果这很重要,我会在 raspi 上运行它。
感谢您的帮助
编辑:
我将尝试使用 mysql 数据库,其中我的 cpp 文件使用来自 http://dev.mysql.com/doc/connector-cpp/en/ 的 Connector/c++ 写入来自传感器的数据,而我的网站会读取它们。
【问题讨论】:
-
一个简单的方法是让你的 C++ 程序充当一个 http 服务器,然后脚本可以使用 XMLHttpRequest 从中请求数据。
-
好主意,但是用 C++ 制作 HTTP 服务器并不是特别容易。
-
@SkyHigh 是的,你会想要实际发送数据,而不仅仅是重写需要稍后加载的文件。您可能想研究 Node.js + C++ 或 Boost.Asio
-
也许您可以使用一些 C++ REST 框架来公开您的网站可以定期向其发送查询的 API?
标签: javascript c++ json parameter-passing v8