Skip to content
View mosesnetto's full-sized avatar

Block or report mosesnetto

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
mosesnetto/README.md

Animated Mosesnetto workflow: learn, build, deploy, improve

Python Raspberry Pi AWS IoT MQTT Tailscale GitHub Actions

Learn · Build · Deploy · Improve
Turning ideas into practical, reliable systems through continuous learning and iteration.


My workflow

I work iteratively:

LEARN  →  BUILD  →  DEPLOY  →  IMPROVE

I learn from problems, build small useful systems, put them into real environments, and improve them through feedback. Technology changes; the workflow stays consistent.

Selected work

These are examples of projects built through the workflow—not the entire scope of my work.

Modbus AWS Logger — private preview

A focused Modbus TCP → AWS IoT Core bridge written in Python.

Implemented:

  • Persistent Modbus TCP holding-register scanning
  • AWS IoT MQTT/TLS publishing with QoS 1
  • Environment-based configuration with no credentials in source control
  • PLC and MQTT reconnect handling
  • Offline --check-config and safe --demo modes
  • Optional SMTP daily operational summaries with duplicate-send protection
  • Unit tests, dependency checks, secret-pattern checks, and GitHub Actions CI
  • Deployment documentation for a Raspberry Pi 5 edge host

Open the private project repository · private preview

Reference edge deployment

The companion deployment pattern uses a Raspberry Pi 5 with 4 GB RAM as the site edge host:

  • Tailscale VPN connects multiple authorized devices through a private tailnet.
  • Flask UI/API provides a browser or API interface on the local network.
  • xrdp provides open-source remote desktop access over TCP/3389.
  • Modbus AWS Logger reads the PLC and publishes telemetry to AWS IoT.
  • AWS IoT MQTT/TLS remains a separate, authenticated cloud connection.

The Flask application and operating-system services are documented as a companion deployment pattern; they are not automatically provisioned by the logger repository.

Animated Raspberry Pi 5, Tailscale, Flask, xrdp, PLC, and AWS IoT architecture


Engineering principles

🔐 Secrets stay out of Git
Environment files, certificates, private keys, logs, and runtime state stay local.
🧪 Offline validation first
Demo and configuration checks make it possible to verify behavior before touching a PLC or cloud account.
🔒 Least privilege by design
Tailscale access is restricted by device and port; AWS IoT access is restricted by certificate and topic policy.
📡 Useful telemetry
Structured JSON payloads preserve operational context for later analysis.
🧱 Small, testable pieces
Clear modules, repeatable checks, and honest documentation over unsupported claims.
🛠️ operable systems
Reconnects, summaries, CI, and deployment notes are part of the product—not afterthoughts.

What we can implement next

These are concrete next steps, not claims about current functionality:

  • A secure Flask control plane with authentication, role-based access, and read-only telemetry views
  • A Modbus simulator for safe development and commissioning
  • Health/readiness status and connection/publish metrics
  • Payload schema versioning and migration policy
  • Docker, systemd, and Windows service deployment profiles
  • Tailscale policy templates for Pi, Flask, xrdp, and PLC subnet access
  • Alert policies for stale telemetry, repeated Modbus failures, and broker outages
  • Public documentation and a customer commissioning guide after the security and license review

Current stack

Python Modbus TCP MQTT AWS IoT Core Flask xrdp Tailscale Raspberry Pi


More public work

Career Guidance Chatbot

ChatBot-For-Carrier-Guidance · Python · PyTorch · NLTK · Flask

An offline AI career-guidance chatbot with intent classification, confidence gating, a web chat UI, a terminal interface, reproducible training, tests, and CI.

MCC Machine Shift Monitor

machine-monitor · Python · Raspberry Pi 5 · Telegram · 4G/A7670E

A Raspberry Pi 5 machine-shift monitor with downtime alerts, shift-aware reports, offline text-to-speech, and optional real phone-call notifications.


GitHub

Mosesnetto GitHub profile

Building secure industrial telemetry from the edge to the cloud.

Popular repositories Loading

  1. mosesnetto mosesnetto Public

    1

  2. performance-report-parser performance-report-parser Public

    MERIDIAN Engine Intelligence — parses scanned marine-engine performance report PDFs into a validated 124-field extractor with audit, analytics, triggers, AI insights and offline voice briefings.

    Python

  3. machine-monitor machine-monitor Public

    Telegram-connected machine shift monitor with real phone calls via A7670E 4G module

    Python

  4. modbus-aws-logger modbus-aws-logger Public

    Secure industrial telemetry bridge: Modbus TCP to AWS IoT over MQTT/TLS.

    Python

  5. portfolio portfolio Public

    Embedded & Industrial IoT Engineer portfolio — edge-to-cloud systems, PLC connectivity, AWS IoT, Python, Raspberry Pi.

    Astro