GithubHelp home page GithubHelp logo

lulauav / arduinosip Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dl9sec/arduinosip

1.0 0.0 0.0 47 KB

Arduino SIP library with UDP communications

License: BSD 3-Clause "New" or "Revised" License

C++ 100.00%

arduinosip's Introduction

ArduinoSIP

Arduino SIP library with UDP communications. Original class and methods authored by Juergen Liegner (SIP protocoll not fully implemented. Discussed at https://www.mikrocontroller.net/topic/444994). Can be used do do a notifying SIP call through e.g. a FRITZ!Box.

Tested with NodeMCU 1.0 (AI-Thinker ESP8266MOD ESP-12E) and D1 mini clone (ESP8266MOD ESP-12F). Because of this, "architectures" in "library.properties" is currently set to "esp8266"-only. If you want to use the library on another Arduino architecture, replace the "esp8266" with a "*" and let me know, if it works.

Prequisites for the examples

  • General

    • You need a FRITZ!Box or equivalent which supports SIP and TR-064.
    • Grant access for applications to the FRITZ!Box:
      Heimnetz -> Netzwerk -> Netzwerkeinstellungen -> Heimnetzfreigaben: Zufriff für Anwendungen zulassen / Statusinformationen über UPnP übertragen
  • For SIP call functionality ("DualDoorbell" and "LaundryNotifier" example)

    • The ESP8266 acts as a VOIP telephone for the FRITZ!Box, so a new phone has to be set up:
      Telefonie -> Telefoniegeräte -> Neues Gerät einrichten: Telefon (mit und ohne Anrufbeantworter) -> LAN/WLAN (IP-Telefon) -> Benutzername / Kennwort ...
    • Follow the setup assistant. Benutzername (Username) will be used for "SipUSER" and Kennwort (Password) will be used for "SipPW" in the code.
  • For TR-064 SOAP communications ("LaundryNotifier" example)

    • You need at least a FRITZ!DECT 200 (10A max.) or FRITZ!DECT 210 (15A max.) depending on your laundry devices. The example is made for two devices.
    • Install Aypac's "Arduino-TR-064-SOAP-Library" from https://github.com/Aypac/Arduino-TR-064-SOAP-Library to your Arduino library path.
    • Set up a net FRITZ!Box user for interaction with the TR-064 SOAP interface:
      System -> FRITZ!Box-Benutzer -> Benutzer: Benutzer hinzufügen -> Benutzername / Kennwort, Berechtigungen: Fritz!Box Einstellungen / Sprachnachrichten, Faxnachrichten, FRITZ!App Fon und Anrufliste / Smart Home
    • Follow the setup assistant. "Benutzername" (Username) will be used for "FbApiUSER" and "Kennwort" (Password) will be used for "FbApiPW" in the code. Check the mentioned boxes for that user.

Maybe someone can give me the correct translations from an english localized FRITZ!Box browser interface.

Examples

DualDoorbell
A dual doorbell example adapted from Florian Wernze (see https://wernze-home.net/wordpress/hobbys/arduino-esp8266-tuerklingel/).
LaundryNotifier
A laundry notifier example using the TR-064 SOAP library (https://github.com/Aypac/Arduino-TR-064-SOAP-Library) to aquire the power information from two home automation smartplugs and notify via SIP call, that the washing machine and/or dryer is ready.

arduinosip's People

Contributors

dl9sec avatar

Stargazers

Lula Sky Dream UAV avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.