在rasperrypi中显示Web服务器上的传感器值

时间:2018-02-28 13:22:16

标签: python bluetooth arduino raspberry-pi

您好我想在raspberry pi中向Web服务器显示传感器值。 我使用称重传感器(传感器)和arduino来测量重量。 我连接arduino和hc-06(蓝牙模块)给树莓pi发送重量。这里是arduino和raspberrypi的代码。

arduino代码

#include <SoftwareSerial.h>
#include "HX711.h"
#define calibration_factor -7050.0
#define DAT 5
#define CLK 6

SoftwareSerial bt(2,3);
HX711 scale(DAT,CLK);

void setup(){
  bt.begin(9600);
  scale.set_scale(calibration_factor);
  scale.tare();
}

void loop(){
  float h=scale.get_units();// pound(lb)
  float i=0.454*scale.get_units();// kilogram(kg)
  bt.print (String(h) +","+ String(i));
  bt.print("\n");
  delay(2000);
}

raspberrypi代码(python)

import bluetooth
bd_addr="XX:XX:XX:XX:XX:XX" //MAC ADDRESS of HC-06
port=1
sock=bluetooth.BluetoothSocket(bluetooth.RFCOMM)
sock.connect((bd_addr.port))
data=""
while 1:
  try:
    data +=sock.recv(1024)
    data_end=data.fint('\n')
    if data_end!=-1:
      rec=data[:data_end]
      print data
      data=data[data_end+1:]
  except KeyboardInterrupt:
    break
soc.close()

根据这些代码,我成功通过蓝牙将重量从arduino发送到raspberrypi。所以我可以检查覆盆子皮终端的重量。我想在网络服务器上显示重量。我构建apache2,php,phpmyadmin,mariadb。如何在我构建的Web服务器上显示权重?

1 个答案:

答案 0 :(得分:1)

如果display weight on web server表示Web应用程序,我建议使用带有websockets的nodejs来连续从服务器向客户端发送数据(theres bluetooth module for nodejs)。使用express特别容易。如果你只想要基本的http响应即时权重值(比如休息服务),你就不能使用SimpleHTTPServer在python中做到这一点。无论哪种方式,你真的不需要apache2,php,phpmyadmin和mariadb。好吧,你可能可以在php中完成它,但是每个人都会为此嘘声。