Open nelsonic opened 4 years ago
@th0mas as discussed on the standup call this morning, the Welcome Display will be a reasonably large 40" 1080p screen (Old but still perfectly working order LCD TV) that consumes around 50W of power. We obviously don't want to keep this screen on 24/7 as it will use more power than all the Raspberry Pis @home combined; hence powering the screen via relay. 🔋 The Amazon order containing your POE splitter has a relay: https://smile.amazon.co.uk/gp/product/B078Q326KT It should arrive tomorrow (or by Monday at the latest).
Please let us know if you need any electrical wire in order to connect the relay to a 230V appliance in order to test this feature. I'd advise you to use a simple light💡 to simulate the "screen" being switched on/off by the relay. But if you're feeling confident in the relay and want to hack a mains power cable and connect an actual monitor to the relay, LMK which cable you need.
Currently have no wire (or tools) to hook up 230V to another device. I'm not quite sure what I'll need to get that working but i'll look into it.
Running this on a separate Raspberry Pi might be worth it to prevent any issues with the Relay/Pi taking down the entire system, it also makes for a more clear separation of concerns between hub and device.
For rendering a GUI on our welcome display we realistically have two options:
Elixir Scenic - https://github.com/boydm/scenic. This is a well-supported library on Nerves and would be absolutely fine for our use case
JS/WebView - Theres already a well supported Kiosk mode Nerves image that would allow us to just write normal JS for our GUI
@th0mas cool. let us know what you decide and if you need a separate PI for this part of the application. From the perspective of the safety of the PI the relay should shield the circuit because it's based on a
Given the potential complexity of doing motion detection noted in https://github.com/dwyl/learn-nerves/issues/5#issuecomment-656587838 Maybe we can just use a PIR sensor to detect motion instead of going down the Camera route? The HC-SR501 is relatively low power and does not raise any privacy concerns. 💭 https://www.amazon.co.uk/AZDelivery-HC-SR501-Detection-Raspberry-including/dp/B07V9GFHFW
Looks good. That board appears to use a UART serial port though, which we're already using for the NFC reader. I don't know if its worth finding a I2C or SPI board - although I doubt many exist, or finding a small USB-to-UART adapter
@th0mas good point on the potential mutually exclusive UART devices. 👍
However, its worth remembering that the Welcome Display will be connected to a separate Raspberry PI.
So the UART will still be available on the Display RPi which can be connected to a PIR
and Relay
.
The two distinct RPis will be separated by 2m and independently powered by POE. Let's operate under the assumption that we have 3 Pis that each perform one job:
Maybe this annotated photo of the entrance will help:
So we can still connect the PIR sensor to the RPI that feeds/powers the Welcome Display. 👍
Whoops! that makes sense, looks like there is no problem using that motion detector then :)
@th0mas LMK if you need an extra RPi0 to connect to a Welcome Display so your setup is mirrored to "Production". 💭
sigh
https://github.com/boydm/scenic_driver_nerves_rpi/issues/13
Can't currently run Scenic on an RPi4, and I doubt the RPi0 will be able to run it (it hangs on my MacBook).
I'll hack together a Js-based display for now
Seems like RPi4 support for https://github.com/nerves-web-kiosk is lacking as well.
Might have to abandon Nerves for this display, and run Chromium on top of Raspbian as described here: https://pimylifeup.com/raspberry-pi-kiosk/
We could point it at a LiveView page on the hub?
@nelsonic thoughts?
@th0mas that's a bummer. 😕 (but not a brick wall)
If anything, it might be a blessing in disguise. 💭
If we run the displays in Kiosk mode e.g: leveraging https://github.com/guysoft/FullPageOS
(though I'm not so happy about the need for running it as root
...)
It means they are truly "dumb" and don't know anything about the rest of the system.
The default page for the Kiosk can still connect to the hub and display any content it needs to in near-real-time
using incredibly basic JS code as noted in https://github.com/dwyl/smart-home-security-system/issues/9#issuecomment-657560631 (though I'm sure we will want a bit more than that)
Definitely up for using LiveView
for this, seems like a good use-case.
Does that mean Scenic
is out? 💭
Obviously I would much prefer to run this as Nerves
project to avoid having a full OS on any of the PIs ... 💭
Raspberry Pi 3 appears to be supported by: https://github.com/nerves-web-kiosk/kiosk_system_rpi3 💡
@mobileoverlord the Don of Nerves
appears to be using RPi3
for his projects, so you know it will work. 😉
Happy to send you a RPi3
so you can maintain your momentum on this and use Scenic
✅
It makes sense to use the RPi4
as the "Hub" as it has the most power, it will eventually be controlling 40+
Pis once we have all the garden/plant stuff up-and-running running.
On our standup call you mentioned using a Raspberry Pi 3 A+: https://smile.amazon.co.uk/RASPBERRY-Plate-Model-Cortex-11811853/dp/B07KKBCXLY
But Raspberry Pi 3 Kiosk appears to focus on the "B" model:
Please confirm that it will work with the RPi3 A+
. The difference in price to the B+
is negligible.
Guessing you'll need another Micro SD card
for it too.
Do you need anything else
?
At the entrance to the building we will have a small screen that is unmissable we will refer to as the Welcome Display. The display will show a basic "Welcome Home {FirstName}" to the person when they successfully authenticate at the door or show "Hello Stranger!" when the device they are using is unrecognised. Later we will use this display to show the most relevant information to the person entering the building. But for now, it's just "Welcome".
Todo
auth-plug
and associating the deviceStretch Goals:
before
the person scans their device, Show instructions to people to scan their device on the NFC reader e.g. "Hello! Please scan your device to enter the building." 👋