Based upon the Public Invention, General Purpose Alarm Device (aka GPAD), the Krake is a wireless alarm device. It flashes lights, and on a speaker plays audio files such as speech, music and alarm sounds. The Krake adds to the GPAD functionality a rotary encoder.
Krake is an annunciator meant to alert a human to something needing attention.
It will connect as a station to a Wi-Fi local area network. The Krake receives alarm messages from another device, the Controller. The Controller may be on the same local area network or the wider internet.
Our test page is here.
These sounds are stored on an SD card and can be voice and can be multilingual. The SD card is removable so that the Krake alarms can be customized (localized) for language.
A Crake is a bird with a distinctive, slighly alarming cry. We changed the spelling as a joke. "Flaycrake" is an old term for a scarecroew.
-
Prototype on a solderless board:
- Connect the components on a solderless breadboard: ESP32, DFplayer, Speaker, 5 lamps, voltage divider circuit acting as an input for pin 34 of the ESP32.
-
Develop firmware for the following features, as of 20240427 we have deleveloped:
- Connect to WiFi
- Fetch the input value through WiFi
- Send an emergency level to the device through WiFi
- Illuminate a lamp corresponding to the received emergency level with a certain blinking rate
- Play prerecorded audio output corresponding to the emergency level.
-
Future features both firmware and hardware:
- Store the received input in a database (save it to SD card or to a cloud based server)
- Add an LCD to display the input value and the emergency level
- Include a mute button to silence the audio of the Krake device.
-
Create a soldered prototype of the device.
-
Design a PCB, compliant with JLCPCB.
-
Design a 3D enclosure.
-
Generate gerber files and order the PCB.
-
Assemble all the parts together: enclosure, PCB, and upload the program.
-
Begin testing the device.
- ESP32 DevKit V1. For schematics of DevKit V1 and other information See: https://embedded-systems-design.github.io/overview-of-the-esp32-devkit-doit-v1/
- DFplayer module. The DFPlayer Mini MP3 Player For Arduino is a small and low cost MP3 module. For example wiring diagrams of of DFPlayer module for stand alone and to Arduino UNO and other information See: https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299
- SD card 16 GB
- speaker 8 ohm
- 5 lamps (emergency level ind)
- 8 resistors
- breadboard (solderless )
- connecting wires
- USB cable. Type A (for connection to PC) to type B micro (to connection on ESP32 Devkit V1)
⏩ `Newly added:
- 3 lamps:
- mute ind
- PWR ind
- ON - OFF ind
- rotary encoder
lamps +ve --- lamp 1 -- resistor 330 ohm -- pin #2 +ve --- lamp 2 -- resistor 330 ohm -- pin #4 +ve --- lamp 3 -- resistor 330 ohm -- pin #5 +ve --- lamp 4 -- resistor 330 ohm -- pin #18 +ve --- lamp 5 -- resistor 330 ohm -- pin #19
input value ciruit devider or any sensor circuit devider connections: -ve -- resistor --- resistor -- +ve | pin #34
Vin of the ESP32 connected to 3.3 V GND of ESP32 connected to -ve
DFplayer
RX -- resistor 10 k -- pin #16 (TX2 of the ESP32) TX -- pin #17 (RX2 of the ESP32) VCC -- +ve GND -- -ve
DFplayer ft. speaker SPK1 -- +ve of the speaker SPK2 -- -ve of the speaker
-
GPIO 0: Controls the boot mode, so avoid using it if you’re connecting LEDs that may be powered at boot.
-
GPIO 1 (TX) and GPIO 3 (RX): Used for UART0 communication, so connecting LEDs here might interfere with serial debugging.
-
GPIO 6 to GPIO 11: Used for flash memory on ESP32 modules with external flash, so they should not be used for other purposes.
-
GPIO 15: May have restrictions based on the board design; avoid using it for LEDs if it conflicts with boot or other functions.
-
GPIO 34 to GPIO 39: These are input-only pins, so they cannot drive LEDs directly.
-
GPIO 2: Commonly used for the onboard LED on some ESP32 development boards.
-
GPIO 4, GPIO 5: Frequently available and safe for IO.
-
GPIO 12, GPIO 13, GPIO 14: Commonly used for IO and don’t interfere with boot functions.
-
GPIO 16, GPIO 17: Good for general-purpose outputss.
-
GPIO 18, GPIO 19, GPIO 21: These are usually free for use and work well with IO.
- The Krake is an HTTP Server and receives alarm level requests by an HTTP Client Put or Get message.
- The Krake is an HTTP Server and returns to a client browser a web page with the system alarm state.
- The Krake has 5 bright white LEDs which indicate alarm states. State can be indicated by steady or blinking LEDs.
- Plays five different audio levels corresponding to triggered emergency levels" To "The Krake can play WAV files which are stored at program time (manufacturing time) The size , ie duration, and number of messages is only limited by the size of an SDI card.
- The Krake Liquid Crystal can display four rows of up to 20 character to further explain an alarm state.
- Includes a mute button.
- The Krake in nromal use connects as a Station to a WiFi Access Point. For set up, a user interface is provided to set (Manage) WiFi credentials by the user of a smart device and the Krake provides a WiFi Access Point WiFi.
Hollifield, Bill R., and Eddie Habibi. Alarm management: A comprehensive guide. Isa, 2010.