Yeni: Yapay zekâ güvenlik duvarı tüm platformu izliyor ve her olayı sade bir dille açıklıyor. Nasıl çalıştığını görün

UART üzerinden kapak sayılarını eski bir Intel Edison'a gönderen OpenMV kamerası: hiçbir veri ulaşmıyor

UART üzerinden kapak sayılarını eski bir Intel Edison'a gönderen OpenMV kamerası: hiçbir veri ulaşmıyor

Çözüldü 6 4

Yapay zekâ tarafından English dilinden çevrildi ·

Tesis müdürüyüm ve tek kontrol teknisyenimiz izinde olduğu için bu işi kendim yapıyorum. Dolum hattında bir OpenMV H7 kamera kapakları kontrol ediyor, sağlam olanları sayıyor ve hatalıları reddediyor. Yanında, Arduino genişleme kartı üzerinde eski bir Intel Edison var; bu kart zaten dolum makinesinin sayaçlarını okuyor ve hat verilerini Hermetry’ye gönderiyor. OpenMV’nin iki sayısını seri port üzerinden Edison’a aktarmak istiyorum ki diğer verilerle birlikte yukarı gitsin.OpenMV tarafı:

from pyb import UART
uart = UART(3, 115200, timeout_char=1000)
...
uart.write("caps_ok=%d;caps_rej=%dn" % (ok, rej))

Edison tarafı, 115200 hızında /dev/ttyMFD1 okuyan Python: port hatasız açılıyor ama read() hiçbir şey döndürmüyor. OpenMV P4 (TX) pinini genişleme kartının 0 numaralı pinine, P5 (RX) pinini ise 1 numaralı pinine bağladım.İki kart aynı kutuda yaklaşık 40 cm aralıkla duruyor, jumper kablolarla bağlı ve ikisi de aynı 5 V kaynağından besleniyor. OpenMV’yi dizüstü bilgisayarımdaki bir USB seri adaptörle kontrol ettim; 115200 hızında hatlar düzgün çıkıyor.

♥ 1

Yapay zekâ tarafından English dilinden çevrildi ·

Breakout kartının seviye dönüştürücüsü hangi voltaja ayarlı? OpenMV 3.3 V ile çalışıyor, Edison breakout kartı ise jumper ile 5 V’a ayarlanabiliyor.

♥ 1

Yapay zekâ tarafından English dilinden çevrildi ·

İki kart arasında toprak (GND) bağlantısı yapılmış mı? Ben de o yüzden tuzağa düşmüştüm.

♥ 0

Yapay zekâ tarafından English dilinden çevrildi ·

Topraklar bağlı. J9 jumper’ı 5 V konumundaydı, onu 3.3 V’a aldım. Hâlâ hiçbir şey yok.

♥ 0

Yapay zekâ tarafından English dilinden çevrildi ·

Geçen yıl bir laboratuvar için Edison breakout kartıyla uğraştım. Bu kartta /dev/ttyMFD1 dosyasını açmak yetmiyor: 0 ve 1 numaralı pinler bir pin çoklayıcı ve seviye dönüştürücülerden geçiyor; bunlar ayarlanana kadar UART başlığa bağlı değildir, pinler yalnızca düz GPIO’dur. Bu yüzden port hatasız açılıyor ama hiçbir şey okunmuyor.Kolay yol, UART’ı kart numarasıyla açtığınızda mux’ı sizin yerinize ayarlayan mraa kütüphanesini kullanmaktır:

import mraa
u = mraa.Uart(0)            # pins 0/1 on the Arduino breakout, sets the mux
u.setBaudRate(115200)
u.setMode(8, mraa.UART_PARITY_NONE, 1)
while True:
    if u.dataAvailable(1000):
        line = u.readStr(64).strip()     # "caps_ok=1823;caps_rej=12"
        vals = dict(kv.split("=") for kv in line.split(";"))
        # add to the payload the Edison already sends:
        payload["caps_ok"] = int(vals["caps_ok"])
        payload["caps_rej"] = int(vals["caps_rej"])

Ayrıca kablolamanın çapraz olduğunu kontrol edin: OpenMV TX, Edison’un RX (pin 0) ucuna; OpenMV RX, Edison’un TX (pin 1) ucuna bağlanmalı. Breakout kartında pin 0 RX’tir; yazdığınız şey kablolamayla birebir aynıysa bunları birbiriyle değiştirin.

Timestamps in UTC or it didn't happen.
Kabul edilen çözüm♥ 9

Yapay zekâ tarafından English dilinden çevrildi ·

Meğer ikisi de. mraa.Uart(0) pinleri ayarlamıştı, ben de TX ve RX’i ters bağlamışım. Sayımlar artık her saniye geliyor ve dolum verisiyle birlikte artıyor. caps_rej hat panosunda ve vardiya amiri saat 14:00’te neden sıçradığını şimdiden sordu.

♥ 2

Yapay zekâ tarafından English dilinden çevrildi ·

İyi. Yine de o Edison için bir yedek planlayın; yıllardır üretimi durdurulmuş durumda ve yedek parça bulmak giderek zorlaşıyor.

♥ 1
7 yazı görüntüleniyor – 1 ile 7 arası (toplam 7)
  • Bu konuyu yanıtlamak için giriş yapmış olmalısınız.

Sohbete katılın

Soru sormak ve yanıtlamak, yararlı gönderileri beğenmek ve sorununuzu çözen yanıtı işaretlemek için oturum açın. Her katkı puan ve seviye kazandırır.

Paylaş