我正在做一个Django应用程序,试图显示来自超声波传感器的数据。
我想要的是将传感器的距离保存在Django表中。通常情况下,这是通过表单完成的,但是我希望每个传感器对象都在后端完成。
这是我目前的代码:
Ultrasonicsensor.py
import time
from grove.grove_ultrasonic_ranger import GroveUltrasonicRanger
def main():
# Grove - Ultrasonic Ranger connected to port D16
sensor = GroveUltrasonicRanger(16)
counter = 10
while (counter < 10):
distance = sensor.get_distance() #This is the distance i want to save for each sensor object
distance = (float(distance) / 100)
print('{:.4f} m'.format(distance))
if distance < 1:
print('Cerca')
elif 1 <= distance <= 1.9:
print('Medio')
else:
print('Lejos')
time.sleep(1)
counter = counter + 1Models.py
class UltrasonicSensor(models.Model):
name = models.CharField(max_length=50, default="HC-SR04")
description = models.TextField()
pin = models.IntegerField()
distance = models.DecimalField(max_digits=20, decimal_places=4)
date = models.DateTimeField(auto_now_add=True)Views.py
class uSensorDetailView(DetailView):
template_name = 'sensor_detail.html'
context_object_name = 'sensor'
def get_queryset(self):
return UltrasonicSensor.objects.all()发布于 2021-12-10 20:56:26
如果Python是Django项目的一部分,可以尝试将模型导入到Ultrasonicsensor.py文件中。
from app_name.models import UltrasonicSensor然后为每个传感器创建你的对象。
new_sensor = UltrasonicSensor()
new_sensor.name = data_here
new_sensor.description = data_here
new_sensor.pin = data_here
new_sensor.distance = data_here然后save对象。
new_sensor.save()您的新传感器对象已经创建!
https://stackoverflow.com/questions/70309404
复制相似问题