Skip to content

aayes89/LoRaTun

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 

Repository files navigation

LoRaTun

Establece conexión TCP/IP sobre SLIP con Raspberry Pi Pico + SX1278 usando TUN sobre capa 3, permitiendo servicios como PING, SSH, WWW, etc.

Requisitos de hardware

  • Raspberry Pi Pico (2)
  • Módulos LoRa SX1278 (433MHz) (2)
  • PC o Laptop (2)

Requisitos de software

  • Ser administrador del sistema.
  • Sistema Operativo (Windows, Linux o MacOS)
  • Driver TAP instalado previamente.
  • Arduino IDE (para compilar el código a usar en las Rasbperry Pi Pico)

Esquema de conexión LORA - RPI

  • LORA SS - PICO 5
  • LORA RST - PICO 6
  • LORA DIO0 - PICO 7
  • LORA SCK - PICO 2
  • LORA MISO - PICO 4
  • LORA MOSI - PICO 3
  • LED PIN PICO 25 (indicador)

Configuración

Dependencias en Python: pip install pywin32 wmi pyserial

Windows variante manual:

  • Instala: https://swupdate.openvpn.org/community/releases/tap-windows-9.24.2-I601-Win10.exe
  • En PowerShell obten el GUID del adaptador usando este comando si falla el script:
    Get-NetAdapter | Where-Object {$_.InterfaceDescription -Like "TAP"} | Format-List -Property Name, InterfaceDescription, InterfaceGuid
  • En caso de que no configure correctamente la interfaz: "Conexión de área local", renombrar a LoRaTun0.
  • De igual forma si falla la configuración automática de la interfaz de red, usar: netsh interface ip set address name="LoRaTun0" static 10.10.0.1 255.255.255.0

Windows Variante automática:

  • Ejecutar desde PowerShell como administrador:
  • PC principal: sudo python3 lora_tun_multios.py --port COM# [--baud 115200] --ip 10.10.0.1 --peer 10.10.0.2 [--mtu 576]
  • PC auxiliar: sudo python3 lora_tun_multios.py --port COM# [--baud 115200] --ip 10.10.0.2 --peer 10.10.0.1 [--mtu 576]

Linux: (PRUEBAS PENDIENTE)

  • Ejecutar como administrador en cualquiera de estos modos:
  • PC principal: sudo python3 lora_tun_multios.py --port /dev/ttyACM# [--baud 115200] --ip 10.10.0.1 --peer 10.10.0.2 [--mtu 576]
  • PC auxiliar: sudo python3 lora_tun_multios.py --port /dev/ttyACM# [--baud 115200] --ip 10.10.0.2 --peer 10.10.0.1 [--mtu 576]

MacOS:

  • Ejecutar el script lora_tun_multios.py como administrador. (MacOS UTUN no es accesible de otra forma)
  • PC principal: sudo python3 lora_tun_multios.py --port /dev/tty.usbmodem# [--baud 115200] --ip 10.10.0.1 --peer 10.10.0.2 [--mtu 576]
  • PC auxiliar: sudo python3 lora_tun_multios.py --port /dev/tty.usbmodem# [--baud 115200] --ip 10.10.0.2 --peer 10.10.0.1 [--mtu 576]

Leyenda: [--baud ...| --mtu ...] - opcionales

Por mejorar/hacer

  • Añadir soporte para Android e IOs.
  • Intentar eliminar el requisito de permisos como administrador para una conexión Plug-and-Play.
  • Optimizar implementación de SLIP/TUN para aumentar el ancho de banda.
  • Probar con otros módulos para escalabilidad del código.
  • Diseñar y Fabricar PCB para protección de los componentes y presentación al público.

Licencia

Éste código utiliza licencia MIT

Capturas y Anexos

imagen

About

Envía TCP/IP con Raspberry Pi Pico + SX1278 usando TUN/TAP

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published