Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan Django Prophet untuk membina sistem ramalan kegagalan peranti IoT?

Bagaimana untuk menggunakan Django Prophet untuk membina sistem ramalan kegagalan peranti IoT?

王林
王林asal
2023-09-28 12:12:311144semak imbas

如何利用Django Prophet构建物联网设备故障预测系统?

Bagaimana untuk menggunakan Django Prophet untuk membina sistem ramalan kegagalan peranti IoT?

Dengan perkembangan berterusan teknologi Internet of Things, semakin banyak peranti disambungkan ke Internet. Semasa penghantaran masa nyata dan penyimpanan data daripada peranti ini, sejumlah besar data sering terkumpul. Data ini mengandungi status kesihatan dan bahaya tersembunyi peralatan Melalui analisis data ini, kegagalan peralatan dan keperluan penyelenggaraan boleh diramalkan lebih awal. Artikel ini akan memperkenalkan cara menggunakan Django Prophet untuk membina sistem ramalan kerosakan peranti IoT dan memberikan contoh kod khusus.

Django Prophet ialah perpustakaan ramalan siri masa berasaskan Python yang boleh digunakan untuk memodelkan dan meramalkan data siri masa. Apabila membina sistem ramalan kegagalan peranti IoT, kita boleh menggunakan data sejarah peranti sebagai data siri masa dan menggunakan Django Prophet untuk pemodelan dan ramalan.

Pertama, kita perlu menyediakan data. Data sejarah peranti hendaklah termasuk pelbagai parameter dan penunjuk peranti, seperti suhu, kelembapan, voltan, dsb. Data ini boleh diperoleh dalam masa nyata daripada penderia peranti atau dieksport melalui log atau pangkalan data peranti. Kami menyimpan data ini ke fail CSV, seperti device_data.csv.

Seterusnya, kita perlu mencipta projek Django dan memasang perpustakaan Django Prophet. Buka terminal dan laksanakan arahan berikut:

pip install django-prophet

Kemudian, dalam fail settings.py Django, tambah django_prophet ke INSTALLED_APPS:

INSTALLED_APPS = [
    ...
    'django_prophet',
    ...
]

Seterusnya, kita perlu mencipta Model Django untuk menentukan struktur data peranti. Dalam fail models.py, tambahkan kod berikut:

from django.db import models
    
class DeviceData(models.Model):
    timestamp = models.DateTimeField()
    temperature = models.FloatField()
    humidity = models.FloatField()
    voltage = models.FloatField()

Kemudian jalankan arahan berikut untuk menjana jadual pangkalan data:

python manage.py makemigrations
python manage.py migrate

Seterusnya, kita perlu mencipta paparan Django untuk melaksanakan Import dan ramalan data. Dalam fail views.py, tambah kod berikut:

from django.shortcuts import render
from django.views import View
from django_prophet.models import ProphetModel
    
class DeviceDataView(View):
    def get(self, request):
        return render(request, 'device_data.html')
    
    def post(self, request):
        # 导入数据
        device_data_path = request.FILES['device_data'].name
        device_data = request.FILES['device_data'].read().decode('utf-8')
        device_data = device_data.splitlines()
        device_data.pop(0)  # 删除标题行
        
        data_list = []
        for line in device_data:
            data = line.split(',')
            timestamp = data[0]
            temperature = float(data[1])
            humidity = float(data[2])
            voltage = float(data[3])
            data_list.append({
                'timestamp': timestamp,
                'temperature': temperature,
                'humidity': humidity,
                'voltage': voltage
            })
        
        # 创建Prophet模型
        prophet_model = ProphetModel()
        
        # 训练模型
        prophet_model.train(data_list)
        
        # 预测
        prediction = prophet_model.predict()
        
        return render(request, 'device_data.html', {'prediction': prediction})

Kemudian, tambah kod berikut dalam fail urls.py:

from django.urls import path
from .views import DeviceDataView

urlpatterns = [
    path('device/data/', DeviceDataView.as_view(), name='device-data'),
]

Seterusnya, buat templat HTML untuk Bentangkan data dan keputusan ramalan. Cipta fail device_data.html di bawah folder templat dan tambahkan kod berikut:

<h1>设备数据导入</h1>

<form method="post" enctype="multipart/form-data" action="{% url 'device-data' %}">
    {% csrf_token %}
    <input type="file" name="device_data">
    <button type="submit">导入数据</button>
</form>

{% if prediction %}
    <h2>故障预测结果</h2>
    {{ prediction }}
{% endif %}

Akhir sekali, jalankan projek Django dan lawati http://localhost:8000/device/data/ dalam penyemak imbas, Muat naik fail device_data.csv. Sistem akan mengimport data secara automatik dan melaksanakan ramalan kesalahan, dan keputusan ramalan akan dipaparkan pada halaman.

Ringkasan:

Artikel ini memperkenalkan cara menggunakan Django Prophet untuk membina sistem ramalan kegagalan peranti IoT dan menyediakan contoh kod khusus. Dengan menganalisis dan memodelkan data sejarah peralatan, kami boleh meramalkan kegagalan peralatan dan keperluan penyelenggaraan terlebih dahulu, dengan itu meningkatkan kebolehpercayaan peralatan dan kecekapan operasi. Saya harap artikel ini akan membantu anda dalam membina sistem ramalan kegagalan peranti IoT.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan Django Prophet untuk membina sistem ramalan kegagalan peranti IoT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn