Skip to content

Commit

Permalink
Merge branch 'main' into feature/ha-discovery
Browse files Browse the repository at this point in the history
  • Loading branch information
DaSchaef authored Jun 16, 2024
2 parents 0b503d7 + e4702a3 commit 7ca95ad
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 6 deletions.
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<p align="center">
<img src="https://gdoor-org.github.io/assets/images/logo.png" alt="GDoor Logo" height=160>
<img src="https://gdoor-org.github.io/assets/images/logo/logo.svg" alt="GDoor Logo" height=160>
<img src="https://gdoor-org.github.io/assets/images/hw3.1/thumb-DSC_1441.jpg" alt="GDoor Hardware" height=160>
</p>
<p align="center">
Expand All @@ -8,15 +8,14 @@

_________________

GDoor is a project to collect and document findings about the Gira Door System, all figured out by reverse engineering.

The GDoor hardware adapter allows listening and controlling the bus and e.g. integrating a Gira door bell into a <b>smart home</b> like [Home Assistant](https://gdoor-org.github.io/documentation/homeassistant.html) or [openHAB](https://gdoor-org.github.io/documentation/openhab.html). It might serve as an DIY alternative to the Gira TKS-IP-Gateway. It supports the following features:

- listening to the bus, e.g. to trigger notifications on mobile devices when a door bell button is pressed
- sending to the bus, e.g. to open the door

Receiving and sending audio/video is currently neither supported nor plannend.

GDoor is a project to collect and document findings about the Gira Door System, all figured out by reverse engineering.
Contributions are welcome!

# Buy / DIY
Expand Down
4 changes: 3 additions & 1 deletion firmware/esp32/gdoor/src/wifi_helper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,9 @@ namespace WIFI_HELPER { //Namespace as we can only use it once
JSONPRINT("Could not mount filesystem on load");
}

wifiManager.setTitle(GDOOR_LOGO);
wifiManager.setTitle("GDoor");

wifiManager.setCustomHeadElement("<style>h1 { color: transparent; background-repeat: no-repeat; background-size: contain; aspect-ratio: 596 / 351; margin: auto; max-width: 260px; background-image: url(\"data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='595.95' height='350.96'%3E%3Cg transform='translate(-103.32 -163.52)'%3E%3Crect width='595.95' height='350.96' x='103.32' y='163.53' fill='%23f60' rx='16.72' ry='13.98'/%3E%3Crect width='160.23' height='279.15' x='151.22' y='197.69' fill='none' stroke='%23fff' stroke-dashoffset='32.13' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='11.7' stroke-width='18.9' rx='18.9' ry='18.9'/%3E%3Cpath stroke='%23666' stroke-dashoffset='32.13' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='11.7' stroke-width='21.92' d='M176.05 811.8h49.4v70q-11.6 3.8-23.4 5.6-11.8 1.8-26.8 1.8-22.2 0-37.4-8.8-15.2-9-23.2-25.4-7.8-16.6-7.8-39.2 0-22.4 8.8-38.8t25.2-25.4q16.6-9.2 40-9.2 12 0 22.6 2.2 10.8 2.2 20 6.2l-6.8 15.6q-7.6-3.4-17.2-5.8-9.4-2.4-19.6-2.4-25.6 0-40 15.4-14.2 15.4-14.2 42.2 0 17 5.4 30.2 5.6 13 17.4 20.4 11.8 7.2 31 7.2 9.4 0 16-1t12-2.4v-42.4h-31.4z' aria-label='G' style='shape-padding:.90503' transform='matrix(.8771 0 0 1.00886 86.59 -447.81)'/%3E%3Cpath stroke='%23e6e6e6' stroke-dashoffset='32.13' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='11.7' stroke-width='11.77' d='M364.63 463.67q0 21.47-11.74 32.39-11.63 10.8-32.5 10.8h-23.61v-84.7h26.1q12.8 0 22.18 4.74 9.37 4.74 14.47 14 5.1 9.13 5.1 22.77zm-11.27.36q0-16.97-8.42-24.8-8.3-7.94-23.6-7.94h-13.89v66.43h11.51q34.4 0 34.4-33.7zm83.87 10.91q0 15.78-8.07 24.44-7.94 8.66-21.59 8.66-8.42 0-15.06-3.8-6.53-3.91-10.32-11.27-3.8-7.47-3.8-18.03 0-15.78 7.95-24.32 7.95-8.54 21.59-8.54 8.66 0 15.18 3.92 6.65 3.8 10.33 11.15 3.8 7.23 3.8 17.8zm-48.04 0q0 11.27 4.39 17.91 4.5 6.53 14.23 6.53 9.61 0 14.12-6.53 4.5-6.64 4.5-17.9 0-11.28-4.5-17.68-4.51-6.41-14.24-6.41-9.72 0-14.11 6.4-4.4 6.41-4.4 17.68zm119.81 0q0 15.78-8.07 24.44-7.94 8.66-21.59 8.66-8.42 0-15.06-3.8-6.53-3.91-10.32-11.27-3.8-7.47-3.8-18.03 0-15.78 7.95-24.32 7.95-8.54 21.59-8.54 8.66 0 15.18 3.92 6.65 3.8 10.32 11.15 3.8 7.23 3.8 17.8zm-48.04 0q0 11.27 4.39 17.91 4.5 6.53 14.23 6.53 9.6 0 14.12-6.53 4.5-6.64 4.5-17.9 0-11.28-4.5-17.68-4.51-6.41-14.24-6.41t-14.11 6.4q-4.4 6.41-4.4 17.68zm94.18-32.86c1.2 0 2.46.08 3.8.24 1.42.08 2.65.24 3.68.47l-1.3 9.61a34.33 34.33 0 0 0-6.89-.83c-3.24 0-6.28.91-9.13 2.73a19.1 19.1 0 0 0-6.88 7.47c-1.66 3.17-2.5 6.88-2.5 11.16v33.92H525.5v-63.58h8.54l1.19 11.62-1.86 10.93c2.05-3.48 7.04-17.41 10.28-19.94a18.15 18.15 0 0 1 11.5-3.8h0Z' aria-label='Door' transform='scale(1.12946 .88538)'/%3E%3C/g%3E%3C/svg%3E\"); }</style>");
wifiManager.setBackButton(true);

wifiManager.addParameter(&custom_mqtt_server);
Expand Down
2 changes: 0 additions & 2 deletions firmware/esp32/gdoor/src/wifi_helper.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@
#define WIFI_H
#include <Arduino.h>

#define GDOOR_LOGO ("<img src=\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQIAJQAlAAD/4gKwSUNDX1BST0ZJTEUAAQEAAAKgbGNtcwRAAABtbnRyUkdCIFhZWiAH6AAEAAsAEgApAClhY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1kZXNjAAABIAAAAEBjcHJ0AAABYAAAADZ3dHB0AAABmAAAABRjaGFkAAABrAAAACxyWFlaAAAB2AAAABRiWFlaAAAB7AAAABRnWFlaAAACAAAAABRyVFJDAAACFAAAACBnVFJDAAACFAAAACBiVFJDAAACFAAAACBjaHJtAAACNAAAACRkbW5kAAACWAAAACRkbWRkAAACfAAAACRtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACQAAAAcAEcASQBNAFAAIABiAHUAaQBsAHQALQBpAG4AIABzAFIARwBCbWx1YwAAAAAAAAABAAAADGVuVVMAAAAaAAAAHABQAHUAYgBsAGkAYwAgAEQAbwBtAGEAaQBuAABYWVogAAAAAAAA9tYAAQAAAADTLXNmMzIAAAAAAAEMQgAABd7///MlAAAHkwAA/ZD///uh///9ogAAA9wAAMBuWFlaIAAAAAAAAG+gAAA49QAAA5BYWVogAAAAAAAAJJ8AAA+EAAC2xFhZWiAAAAAAAABilwAAt4cAABjZcGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACltjaHJtAAAAAAADAAAAAKPXAABUfAAATM0AAJmaAAAmZwAAD1xtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAEcASQBNAFBtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEL/2wBDABIMDRANCxIQDhAUExIVGywdGxgYGzYnKSAsQDlEQz85Pj1HUGZXR0thTT0+WXlaYWltcnNyRVV9hnxvhWZwcm7/2wBDARMUFBsXGzQdHTRuST5Jbm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm7/wgARCACxASwDAREAAhEBAxEB/8QAGQABAAMBAQAAAAAAAAAAAAAAAAIDBAUB/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF/9oADAMBAAIQAxAAAAG/HuqrsAAAAAAAAAAAAAAAAAObdObFm1AX2VWTgAAAIRlnquAAAAAAAAAAAAA0209DVjphYAAALZwxZ9OSjQAAAAAAAAAAAAN+nJ73nPy7AAABt0ZbZw5uTaAAAAAAAAAAAAN+nJ71z8usAAAbdGa2dfNybQAAAAAAAAAAABv05Peufl1gAADbozWzr5uTaAAAAAAAAAAAAN+nJ71z8usAAAbdGa2dfNybQAAAAAAAAAAABv05Peufl1gDwHoNujNbOvm5NoAAAAAAAAAAAA36cnvXPy6xC6iu/P5OAlCc6NHQlG2dfNybQAAAAAAAAAAABv05Peufl116MtejOABKE+nVdbOvm5NoAAAAAAAAAAAA36cnvXNz6Kd2ASrslTc6jbTOm/oSjbOvm5NoAAAAAAAAAAAA36cnvXLj2vRn9jK7Dv8AXQBt0ZrZ183JtAAAAAAAAAAAAG/Tk965PYxtqnRotzaq783koj3kuiWzr52XZ654eckAAAAAAAAAABv05PeuTKEbK7M+mzPpo3+d53gHVz6bZ1x7yyysOKKrseXX46AAAAAAAAAN+nJ71yexjbVOi+3Nrq144yh5OA6ufTbOuPeO8w49tttW3Vkz0X0VXbNOWcoVwnjzaxs05bJ1wjPHm1W2V320+9jHkufi3gADfpye9cuEq9Ob3nbsO/3kozrp24R1c+m2dce8HPx7h0duAS7GEZ482rbqye95HnZd5hybNenLZOFFN2i+jHl11QnCFgAA36cnvXOz6aNvnunOyrsd5GysdXPptnXHvBz8e6codHbgprtutqopuxZdm7XjuspjyUIywY92zTk0X0UU3X3U8vz/AEToAAG/Tk965+XXC6irVkAAcdWjTbOuPeWTrjyUpRhCeDJs0359N9FcJ2Thmo0Rj3XpzVwnZKFFV3nO6L6OX5/onQAAN+nJ73nPy7BGdcLqPJR9532MpVXdC2mycMOfTKURGMq4WAWTrnOEITrhYLJ1znCMZVV2zlCUo1V2gAAC+ynpa8cOSAAAE+xwZteWm8AAAAAAAAAAAACyddsoAAACuM6oWAAAAAAAAAAAATlCEZgAAAAAAAAAAAAAAAADVfRquo5eLcAAAAAAAAAAAAAAAABfbV09eL//xAAlEAABAwMDBQEBAQAAAAAAAAACAAEDBBIyEBETFCAxM0AwIVD/2gAIAQEAAQUCORyf/D8IJv5qMREunddO66d107rp3XTuunddO6KEm+yELif+LlBcoLlBcoLlBcoLlBcoJnZ2nDb66fGow/CnU/r+qnxqMPwplP6/qp8ajD8KZT+v6qfGow/CmU/r+qnxqMPwplP6/qp8ajDR3W+u6Z1TKf1/VT41GCd+5vNMp/X9VPjUYPqzbq1WrZCyplP6/qp8ajAtG7qZT+v6qfGowLyh0uVyuVyplP69la62f6KfGowfyh7qZT+uPDUomdO23y0+NRgXlDo7LbWmU/rjwkwudDK7aTN/AC5MAto4C6MLUAXJoxbRwF0YWqFmdnAXTMzI2a3up8ajAu1/GlMp/XHhJhoGB4C2zGVo8hICuEm3EG2AntHkJRlcztu0PhFK+7mTt3U+NRh2XLfWmU/rjwkwQi5LwpX2FTYqHBDjLgofCi/KnxqME7d9Mp/XHgrW0I2FEVzxH/FYOkpqI9LB0kPZofH40+NRhpsrVs6tVq2VP4n9bSOzcpLlJOZP2NITLmdOZPqxky5nTyE+gk4rlL8YTtJWCrBVgqwVYKsFWCrBXhTnu/1jIQrnJc5LnJc5LnJc5LnJc5IpSL6jG1/8QId2lw/w4sl//8QAJhEAAQMCBgIDAQEAAAAAAAAAAAECAxEyEBITITFBQFEgIjBQQv/aAAgBAwEBPwFjEan8Sg6Hfb4Olahrp6NdPRrp6NdPRrp6NdPRrp6NdPQkzV8yZ1EoIlTSeaTzSeaTzSeaTzSeaTxUVOSF3Xlz8kF34z9EN3lz8kF34z9EN3lz8kF34z9EN3lz8kF34z9EN3lz8kF34z9EN3lz8kF2L5kTgWRy4pI5BkubZSfohu8ufkguwlk/ynyjSrifohu8ufkguHuypXFkauNBBYE6HROQhZTdSfohu8ufkguJ16wY3MtDj4z9EN3lz8kFxNdhAm+DpqLsa6muo2ffcn6IbiqIZkMyeRPyQXEt+EHeC8/CfohuJb1xrQbMqciLXfxZ+SC4mT7YQLvTB8Tq7CscmM/RDcS3qR3GVvodCi8YQu3oPkyiyOUqJI5Bj0ePejRZHKVEkchHJmJnKnAj3J2K5V5GKub5z8kFxOneCLRajXI5KphJauM/RDcS3qRXpi+5SO5By1WpG3MppN9D25VoMWi1JFq4Y3MtDSaSMyqItFqT8pgyFKbiRtTdPnPyQXDm5kocYIqpwazhZXLtjP0Q3Et6kV6YOejRVqQtq7CBfthMv2E3HcqRLR2E670wm2p+U/JBdhLHXdPkhP0Q3Et6nBmd7waxXDWo1KEsfaYajveEUf8ApSWOu6YajveEUdd1J+fyn5ILsXRo4WBejRcaLhIPY2NrSfohuHRtctTRaaLRI2p18FjapoNEjamKxtU0GiRNTBzEdyaLfxlZmTDO72Z3ezO72Z3ezO72Z3ezO72Z3e8IWU3XzHRtcaDTQaaDTQaaDTQaaDTQaJG1PKa7Mn8V01F2I+f4kvGH/8QAJREAAQMDBAIDAQEAAAAAAAAAAAECAxATMhESMUEhQCAwUVAi/9oACAECAQE/AXvVV/ia6DZfHn4NiVSwWCwWCwWCwWBYlT3Im6rqcFxpcaXGlxpcaXGlxpcaIuvBM3v24eCbH6YOyXH24eCbH6YOyXH24eCbH6YOyXH24eCbH6YOyXH24eCbH6YOyXH24eCbGrYlXkRjUqsbVHxaeUIOyXH24eCbGkTO1+Ui6NIOyXH24eCbEY3ctXPRpeUSb9EkapK/XwhB2S4+3DwTYkKd0c7ampz8YOyXH24eCbEixpNxRsOqeSyhZQWHx4IOyXE0VTaptX2IeCbEjxpP1RPhB2S4keNdB0SLwKmnqw8E2JFjSZPFGyJp5Ee1awdkuJHiSYm5f0bKqc0mb41GR7hGNSixtUezaMZuEjalFY1R8e0haioKxqiNRB6Jp84eCbEhXqipqmg5qtWkeVYOyXEjxJMasxQfio1NE0Hu2oXHDHbk1HJqmgxNGjnbU1LjiN25BU1IeKOlXXwK9y/OHgmxGrtXWqoi8lpokbUrB2S4keJJjRrFccErtEpNjSJP80bwS40hTxSLzr9UPBNjSOTTwvzg7JcSPGm1KOejRztykT+lpbb+Ulf0hE/pabG0kfp4IePqh4JsaterRJk7LrS80Wb8HSK4hJcRJHJ4Lri64WRy/BJHIXlFkctUkcheUWVy0a9W8F130xO2rTa38Njfw2N/DY38Njfw2N/DY38Njfykr9fHuNe5pecXnF5xecXnF5xecXnCyOX2nN2r/FbFqnkfx/Ei5p//xAAmEAABAgUEAgIDAAAAAAAAAAAAATECEDBAgREhMkEgUFFhEiJx/9oACAEBAAY/Avr0v7eHwOOOOOOOOfN5qvRuOOOOOOOObH5XamaMV4pmjFeKZoxXimaMV4pmjFeKZoxXimaMV4pmjFeKZoxXimaMU2Ua4UzRiknhttbKZoxSQUdTeWp9DSabSY+hdRjZBfNTNGKSCzQU0k80NR5rLY3XzUzRikgtJJrKL+0lM0YpJJk8NFk0tENFk0tEcWktJZaTfwc6Hm51Paluyy4ocUOKHFDihxQ4ocUlol5sp0dHR0dHR0dD3WnpdV9P/8QAKBAAAgEBBgYDAQEAAAAAAAAAAAExERAhUWFxoSBAQZHB8TCB8FCx/9oACAEBAAE/IXO/Iv4ibg2ijTefAsrDMyJkTImRMiZEyJkRLVU0c4roAZJVqI/VH6o/VH6o/VH6o/VH6orpqoUyTrPN7wh+FH6EmvN74g+F4CTXm98QfC8BJrze+IPheAk15vfEHwvASa83viC1RgbPramXUq3M8BJrze+ILHSXEtUPASa83viANRWsFBqG6KEngJNeb3xAHhWJV8XgJNeb3xBaJux3rioqFevPASaiZwmz0hnO3Mb4gE9nXY54PASa8GaTlVL4vhjUc8rviC0SsbW4qXS3wEmtmalA9sOOtWVcdD8ohU+yiwMNaDHxWIx7rliYy1KLAkU+h99XhoInqIKNSEEXiSjj3xAFh2J0YnVWTW+Ak14dtibUoeAvpTY7469SvI3gVywpeUIYn1EojOxyi6igrjj3xAGqqlqdIKhu7fASa8Gzy6MRKhJdC7erJErpdiU1Mbom8BqsyEq9LFvsbGrVj8TfEFiteuPwEmtmaTVGqo9NYgvd+AyoxDSZQSX8bEU7whLtWX8RKiohTJGxvvi3glVydrRmR2VQsTEiFveh/oUsdxodjNXYlH4MZamSJ25lbG3DJHVKaWSgbFPw3EC5rFHrD1h6w9YesPWHrD1gkkolRCVRKecQ0uMGZfYZfYZfYZfYZfYZfYZfYZfYIqOhZc017fX8VkZ/Fo7P/9oADAMBAAIAAwAAABCAAAAAAAAAAAAAAAAAD0AKSSSQAAAAAAAAAAAAABe2222YAAAAAAAAAAAAB0AAADkAAAAAAAAAAAADgAAACEAAAAAAAAAAAADgAAACEAAAAAAAAAAAADgAAACEAAAAAAAAAAAADgACQCEAAAAAAAAAAAADgA2UiEAAAAAAAAAAAADgMAAGEAAAAAAAAAAAADjQLwiEAAAAAAAAAAAADhi8ACEAAAAAAAAAAAADjCB7CELgAAAAAAAAAADggBASFSMoAAAAAAAAADijAYSFVWYl/FNYb0AADhgoQSFIDJ7A06zRUAADgcToSFIJmsB4gzwgAADgCAAeFPRW2weVtwgAAB8C3J5nUkAaYAwhYAAAD+2223oAAAAAAAAAAAAAVtttvAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAABD/8QAJREAAgEDAwUBAQEBAAAAAAAAAAExESFxEEFhIDBAkcFRUIGh/9oACAEDAQE/EIRf+I0dmitVHoa0l9mSSSRxR28xtJLGNRHEcRxHEcRxHEcQ1og9pvt5ceCTHZW/mGPBJjs/Yh8uPBJjs/Yh8uPBJjs/Yh8uPBJjs/Yh8uPBJjWw3smWO8ibUEexbUKM+xD5ceCTGl72dTk0PsQ+XHgkwVnVc1At9s3Q2GuBitF2fYh8uPBJgvrRQQkkoun7EPlx4JMDVfS8ej2JIOFHChjoSx9iEcxnOjlXkR4JME2ny0m1R9iHoCa5MtF6ELR4seCTBSr/AHSg/wCtEHoqhJVrRH2IdAqaplbZ6FVbWNUsOXKKWm5Msq/TfRZyLbyb7Qq/SJYm12Y4Sag0qhJCnJPrjwSYLa0PUm3SAyPsQ9IH/domuYs7jVeasNcyghUaUFW4Y5SDVYvzRGq9jmhfrjwSYKyGm1Ho1q1BJFNUaI+xD0AKauRjNsuH4NUdBCoe60U7dhKkkLRXIpNdFNPxolh/najwSY05cNUnpRt0R9iHQJtqobt3vR/ZWKaDk9oTaui3QSOr6Bze7RLVA226sY+0RdqMZL/Gt7ciUjhE/wDBu4uiVx1VBTVBX0+Eguhf2jkZfUtby0cjNqrpFhJdadllVSi6ZyPZyPZyPZyPZyPZyPZyPZyPY226sYu8/MuDVzIZDIZDIZDIZB7VLylVF/FVSu/j7//EACURAAICAQMFAQADAQAAAAAAAAABETEQIWFxIDBAQVFQkaGxwf/aAAgBAgEBPxDRT0/ETUYrd6NTol9JfSX0l9JfSX0l9JfRdK18xcz0NpJZvm+b5vm+b5vm+ISQlafLvP8Abstp5jvKue0X+XeVc9ov8u8q57Rf5d5Vz2i/y7yrnOuaEVqw1NlghiyaYL/LvKucaP8AF1IZgv8ALvKuSJWdNdj9SG+h72BTrAX+XeVcmk8JkNtpfUX+XeVciwuH0LCkNjfZvsUpNrgvFURts2X5F5VyV4/6YoukvKctHozXNDGND8W8q5HnGZX8w+koYwhPoLykZpmjfDyNaLEPZHa3RWohHqRr7DH2PUkItUO1qhgbUiCGigQw7a67yrkvwU5iAPFfQXlJbn+hgJUhr6N/AlvC1ImRvjZnYhGmJDJ/cPQ0oSw313lXJGhNNSsIIQb/AEPZS6C8pLcONKEkkI0H6JyI3LDlq9jcKRpViNvGHJn9w2ovuHfYvKucbUL6W4UvBeUjSahiTSWEWo+RiWvcNSezBKRJSxNzmBJJQhawsuw77F4jeWjKhqhvjQJ9DQm9BXDeNbDN2D6NNk20aa3nSUzbR7iMkblHZTA6ZozaGwNgbA2BsDYGwEklCFNH15miJnAcBwHAcBwHAcAtifKdA/xdYwHf4t//xAAqEAEAAQEGBgIDAQEBAAAAAAABABEhMUFhofAQUXGx0fFAgSAwkVDB4f/aAAgBAQABPxClDKrBoU/xHqscxpCGqLSpifgOpFucf1PRs9Gz0bPRs9Gz0bPRs9GxJRT7fz5jAK21HFwisgXrN5eJvLxN5eJvLxN5eJvLxN5eJvLxAR0xIQNK6DPn8vb5RoI3iv8AH9LaFbK/9Q1yh8vZ5TTuz+m5sxmmfL2eU07s/pubMZpny9nlNO7P6bmzGaZ8vZ5TTuz+m5sxmmfL2eU07s8RsWmXsjpL4NLpix6w3Qoy5sxmmfL2eU07s8P+8/l0FbLmzGaZ8vZ5TTuzK+44cbUuOcMZYnBHWYFXpECiiy5sxmmfL2eU07sy0+zhRyBQoXfjc2YzTPl7PKad2YqvLgLTlwYQCznMomURkAKZS5sxmmQuvTCs9kid5/aJRt+Ps8pp3Z4z/hwvev4XNmM0yad78TaEOSVgz0HBiM6C8+Ls8pp3Zhp1nB0ZzOFToqMTVbHG5sxmmTRvdjKSIFo5wNs/ogUXPcSCII1GCIMFzIjVaF7z6QgqnnaZlP5BGoXOwy39rdFD2C/kgFgXO1Mp/IY0TzFGKVFMcTrFgg0KK0lADmFGD06AR6uokaXP57PKad2ZYfRwQEwh1jhouNzZjNMmje7NGd+OM5YK1uaCNgjoVU0Ky2rV/CUJlLlHOE+VUs6wyF6VdWWZVS4zizWs+iMrTWo0xhJVBSM9eUsK1avSNVDaDSqyuIq8oFfz2eU07syt80RGjecEVVSA8n6gVFKcbmzGaZNG92aM78BYUxK4h3KFCBziUMi2CAS5tjihYC8FrJeJ0hOXCrKTYntFvqlHg4m5AfXvgRC5E4N/6NnlNO7PDPneXfiFUCXNmM0yaN7sRCS8SsDbA+kChQl9rAL436YciKHSwTicogEQRvGXy0gAUCgQzeq3jDKV10K2ntL4tU1MoBAAXBHSqFGmCbzLg3/oVnj4xEAoK5WPG/S3mReA9ZlH9gvIn/iS3wt5sYUWkB/vmMHXEQMKi4S6Z8FsCAqUGVnaX8QgKBhanpnzBEoLCxxBo2RtJ6Z8wtLJwFOFXshvErEhQVxD9IulLBeTgxKJoh1Eno89Hno89Hno89Hno89HhgQXAUIidXqjF+ZrwAnsXmexeZ7F5nsXmexeZ7F5nsXmexeYgqC8NK/KDlCtrmf4p9VrYPKXn+JruH//2Q==\">")

namespace WIFI_HELPER { //Namespace as we can only use it once
void loop();
void setup();
Expand Down

0 comments on commit 7ca95ad

Please sign in to comment.