Neu: Die KI-Firewall überwacht die gesamte Plattform und erklärt jeden Vorfall in einfachen Worten. So funktioniert es

Bare Si4463 radio modules: where are working Arduino examples hiding?

Bare Si4463 radio modules: where are working Arduino examples hiding?

Gelöst 4 4

Different project from my pigpio question. We have a water tank about 900 m from the building, no power to spare and no cable. I bought a pair of bare Si4463 modules (433 MHz, SPI) because the datasheet range figures looked great, planning one at the tank on an Arduino Pro Mini and one on the Pi that already sends everything to Hermetry.

Problem: I can’t find a single example that just sends a packet. Silicon Labs‘ material assumes their own tools, and everything I find on GitHub is either half finished or for a different board. Has anyone actually used these with Arduino?

♥ 1

HC-12 modules are an Si4463 with a small MCU on top that gives you a plain serial port. If you don’t need anything fancy, that’s the lazy route.

♥ 0

Kevin’s right that HC-12 is the easy way. With bare modules, the piece most people miss is that the Si446x chips don’t have a register map you just poke. You load a configuration blob that Silicon Labs‘ WDS tool generates (radio_config.h) for your frequency, modulation and data rate, and send it to the chip at startup.

The library that works for me is RadioHead, driver RH_RF24, which supports Si4460/4461/4463. It ships with a set of ready configurations, so you don’t need WDS unless you want something unusual. Minimal sender:

#include <SPI.h>
#include <RH_RF24.h>
RH_RF24 rf24(10, 2, 9);   // CS, nIRQ, SDN
void setup() {
  Serial.begin(9600);
  if (!rf24.init()) Serial.println("init failed");
  rf24.setFrequency(433.92);
  rf24.setTxPower(0x4f);
}
void loop() {
  uint8_t msg[] = "lvl=182";
  rf24.send(msg, sizeof(msg));
  rf24.waitPacketSent();
  delay(60000);
}

Two traps. SDN is active high, so if you leave it floating the chip sits in shutdown and init fails. And these modules run at 3.3V: a 5V Pro Mini needs level shifting on SPI, or use the 3.3V/8 MHz Pro Mini, which is also better for battery life.

On the Pi end, read the packet and publish lvl as a key the same way you do for your other devices.

Timestamps in UTC or it didn't happen.
Akzeptierte Lösung♥ 3

+1 RadioHead. And make sure you’re legal on 433 MHz power and duty cycle where you are before you crank setTxPower.

If it isn't logged, it didn't happen.
♥ 0

SDN was floating. Tied it through the library pin and init succeeded on the first try. Sender at the tank, receiver on a second Pro Mini that passes lines to the Pi over USB, 900 m with RSSI around -95. Tank level is in Hermetry as tank.level_cm. Thanks Eric, and Maria for the reminder about power limits, I backed it off.

♥ 0
Ansicht von 5 Beiträgen – 1 bis 5 (von insgesamt 5)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.

Mitdiskutieren

Melde dich an, um Fragen zu stellen und zu beantworten, hilfreiche Beiträge mit „Gefällt mir“ zu markieren und die Antwort zu kennzeichnen, die dein Problem gelöst hat. Jeder Beitrag bringt Punkte und Stufen.

Teilen