Inhoudsopgave:

Raspberry Pi: Wandkalender en Berichtencentrum - Ajarnpa
Raspberry Pi: Wandkalender en Berichtencentrum - Ajarnpa

Video: Raspberry Pi: Wandkalender en Berichtencentrum - Ajarnpa

Video: Raspberry Pi: Wandkalender en Berichtencentrum - Ajarnpa
Video: 24" Touchscreen monitor running Home Assistant. 2024, November
Anonim
Raspberry Pi: Wandkalender en Berichtencentrum
Raspberry Pi: Wandkalender en Berichtencentrum

Vóór het "digitale tijdperk" gebruikten veel gezinnen wandkalenders om een maandelijks overzicht van aankomende evenementen te tonen. Deze moderne versie van de wandkalender bevat dezelfde basisfuncties:

  • Een maandelijkse agenda
  • Synchronisatie van activiteiten van gezinsleden
  • Eenvoudig bladeren tussen maanden

Naast deze basisfuncties kan deze gadget ook overweg met:

  • Een of voorspelling
  • Aankomende evenementen in de omgeving
  • Live informatie over het openbaar vervoer
  • En nog meer…

Wat je nodig hebt:

  • Raspberry Pi 2
  • USB-wifi-dongle. (Zoals Edimax 150Mbps Wireless nano)
  • LCD-laptopscherm (neem er een van een kapotte laptop
  • Controllerkaart voor het laptopscherm (zoek op Ebay naar LCD Controller Driver Board en het serienummer van uw laptopscherm)
  • Sommige drukknopschakelaars (zoals
  • Webserver met een op maat gemaakte homepage
  • Stuk hout. De hoogte moet meer dan 30 mm zijn, zodat de elektronica erin past. De breedte en hoogte is afhankelijk van het formaat van je laptopscherm.
  • Vel kurk. (Zoals deze
  • Korte HDMI-kabel
  • Voeding voor controller board en Raspberry Pi.
  • Schuimkern
  • Lijm.
  • Montage schroeven.

(Geïnspireerd door de instructable van Piney

Stap 1: De hardware

de hardware
de hardware
de hardware
de hardware
de hardware
de hardware

Dit is de hardwareconfiguratie.

  1. Zoek een LCD-laptopscherm. Bestel een controller board op Ebay. Zoek naar LCD Controller Driver Board en het serienummer van je laptopscherm. Lees meer: https://www.instructables.com/id/Old-laptop-screen-..
  2. Maak een stuk hout. De hoogte moet meer dan 30 mm zijn, zodat de elektronica erin past. De breedte en hoogte is afhankelijk van de grootte van je laptopscherm, heb aan alle kanten een marge van 10 mm extra. Snijd uit en maak ruimte voor de elektronica aan de achterkant. Boor gaten voor de knoppen en draden.
  3. Maak het laptopscherm vast. Ik heb het originele montageframe van de laptop gebruikt.
  4. Knip foamcore uit met dezelfde dikte als het scherm. en lijm deze op de houten plaat.
  5. Bedek alle kanten met kurk. Snijd met een "afbreekmes" en lijm met "lijmspray".
  6. Monteer de drukknoppen. Gebruik een grote boor en boor voorzichtig met de hand.
  7. Sluit de elektronica aan. Sluit drie van de drukknoppen aan op GPIO-pinnen 19/20/21 en op massa. https://ms-iot.github.io/content/images/PinMappin… Zoek de pin voor de aan/uit-knop voor de controllerkaart en verbind deze met de vierde drukknop. (Je zult het vinden door te proberen aarde op elke pin aan te sluiten, plotseling zal het LCD-scherm oplichten). Sluit tot slot de HDMI-kabel aan tussen Raspberry en controllerkaart en sluit het scherm aan op de controllerkaart.

Stap 2: De software

De setup verandert de Raspberry Pi op de een of andere manier in een kiosk. Het besturingssysteem start automatisch een website op volledig scherm en de drukknoppen worden gebruikt om de informatie op de website te beheren. De opstelling is:

  1. Installeer Raspbain op Raspberry Pi (https://www.raspberrypi.org/documentation/installation/noobs.md)
  2. Meld u aan voor een Google-kalender. (https://calendar.google.com). Voeg uw aanstaande evenement toe. Vraag om toegang tot de agenda van uw gezinsleden, of maak een specifieke "gezinskalender" en geef de rest van het gezin toegang. Maak uw agenda dynamischer door externe agenda's toe te voegen. Facebook-evenementen, feestdagen en weeknummer waren praktisch voor mij. Meer inspiratie hier:
  3. Een webpagina en een webserver instellen
  4. Installeer een webbrowser en pas het kalenderontwerp aan
  5. De drukknoppen instellen

Lees verder voor details over 3-5.

Stap 3: Maak een webpagina en webserver

De webpagina is het canvas dat de Raspberry Pi zal weergeven. Het canvas kan worden gevuld met alle informatie. Ik zal je laten zien hoe ik een Google-callender kan insluiten. De embeed-code wordt gegenereerd door de eigen applicatie van Google. Deze youtube laat zien hoe je het werkend krijgt:

Google Agenda heeft ingebouwde sneltoetsen. Druk op N en de volgende maand verschijnt, druk op P en de vorige maand wordt weergegeven. Dit werkt alleen als de focus is. Ik heb een JavaScript gemaakt die ervoor zorgt dat de focus correct is.

Een voorbeeldbestand met html-code is bijgevoegd (naam wijzigen van index.html.txt in index.html). Voor privacy heb ik een deel van de code vervangen door "*_REPLACED_*". Gebruik in plaats daarvan de insluitcode die is gegenereerd door Google.

Plaats het index.html-bestand op uw eigen webhost, of verander uw Raspberry Pi in een webserver en host deze lokaal. Als u al een webhost heeft, gaat u verder met de volgende stap. Installeer een webserver door deze handleiding te volgen: https://www.raspberrypi.org/documentation/remote-a… Sla nu uw gewijzigde index.html op in /var/www/html/index.html, als volgt:

sudo cp index.html /var/www/html/index.html

Stap 4: Installeer een webbrowser en pas het kalenderontwerp aan

Er zijn veel webbrowsers. Maar ik heb er maar één gevonden die aan deze drie vereisten kan voldoen; 1) kan de moderne versie van Google Calendar aan, 2) heeft een modus voor volledig scherm, 3) kan een lokale CSS uitvoeren. De lokale CSS wordt gebruikt om het uiterlijk van de Google-agenda te wijzigen. Het herontwerp kan niet op de webpagina worden gedaan, omdat de CSS is ingebed vanaf een andere server (de google-server).

Installeer Iceweasel (Firefox voor Linux)

Installeer deze extensie voor Iceweasel:

Open het tabblad "Stijlvolle" extensie in Iceweasel en pas de CSS aan om de Google Callander er beter uit te laten zien. Zie bijgevoegd bestand i voor een voorbeeld.

Laten we nu Iceweasel automatisch laten starten en uw webpagina openen bij het inloggen. Typ dit in de Linux-terminal:

cd /home/pi//.config/autostart

nano cal.desktop

Schrijf het volgende naar het bestand. Wijzig "localhost" in het adres waar uw canvas-webpagina is opgeslagen. Opslaan en afsluiten.

[Bureaubladinvoer]

Type=Applicatienaam=hemsida Exec=iceweasel localhost StartupNotify=false

Stap 5: Stel de drukknoppen in

De drukknoppen worden gebruikt om vooruit en achteruit te bladeren in de kalendermaandweergave. Standaard wordt dit gedaan door op "p" en "n" op een toetsenbord te drukken. Daarom zullen de knoppen die twee toetsenbordopdrachten emuleren.

Maak eerst een python-script om de drukknoppen te laten werken:

Download en installeer python-uinput, een python-API om virtuele toetsenborden te maken: https://tjjr.fi/sw/python-uinput/ Raspbian wordt geleverd met zowel Python 2 als Python 3. Zorg ervoor dat u uinput installeert met de versie die u gebruikt.

Zet de uinput-API en het buttonscript bij elkaar. Het definitieve python-script is bijgevoegd.

Start het python-script automatisch bij het opstarten: https://www.instructables.com/id/Raspberry-Pi-Laun… Onze launcher.sh ziet eruit als hieronder. Vervang "/home/pi/py_switch" naar het pad waar u het python-script hebt opgeslagen.

cd /

cd /home/pi/py_switch sudo modprobe uinput sudo python switch.py cd /

Dat is alles!

UPDATE:

Het aantal mogelijke commando's kan worden uitgebreid met enkele if-else-statements in de python-code. Ik heb in deze stap een geüpgraded switch.py-bestand bijgevoegd. Het nieuwe is-script heeft de volgende opdrachten.

  • Druk op knop 1 -> Toets indrukken “P” -> Bladeren vorige maand
  • Druk op knop 2 -> Druk op "N" -> Blader volgende maand
  • Druk op knop 3 -> Toetsdruk ofwel "M" of "A" -> wissel tussen maandweergave of agendaweergave
  • Druk lang op knop 3. -> Toets indrukken "F5" -> Herlaad de webpagina
  • Druk gelijktijdig op knop 1, 2, 3 -> voert het shell-commando "sudo reboot" uit -> Herstart van raspberry pi.

Aanbevolen: