CLAR Programme | C - Linux - Arduino - Raspberry |

Raspberry Pi Arduino

CLAR Programme | C - Linux - Arduino - Raspberry |

Objektorientierte modulare Lösungen für C Programme auf der GNU-Linux Console.

  • Sichere Stringverwaltung
  • Automatischer Ringspeicher für temporäre Strings
  • Umfangreiche Stringfunktionen
  • Flexibles Array Containerobjekt
  • Einfaches Fehlerobjekt
  • Ausgabefunktionen für Console und X-Terminal
  • Tasten nichtblockierend oder blockierend lesen
  • Sichere Read-Funktion mit den üblichen Funktionstasten
  • Dialogelemente: Listen, Menü, Dateiwahl usw.
  • Funktionen für Systemabfragen
  • Konfigurationsdateien schreiben und updaten
  • Kommuikations-Objekt für PC oder Raspberry und mehreren Arduinos
  • ... usw.

Der wachsende Funktionsumfang machte es notwendig, die Projektbeschreibungen in den Projektbrowser chelp auszulagern.


Alle Funktionen verwenden GNU-Linux und sind in den Headerdateien dokumentiert. Die Verwendung wird mit ausführlichen Testprogrammen gezeigt. Alle Projektdateien befinden sich in einem einzigen verschiebbaren Ordner c/. Die Funktionen sind in drei statischen Bibliotheken abgelegt. Siehe Dokumentation.

Zielgruppe: Alle C Programmierer. Geeignet für sehr einfache Programme und komplexe C-Projekte mit vielen Modulen. Für Einsteiger sind alle notwendigen Schritte - Entwicklungsumgebung, make, makefile, gcc, Bibliotheken, usw. - in der Dokumentation ausführlich beschrieben.

Verwendung: Als Nach­schla­ge­werk für C Lösungen und für die Verwendung von Systemfunktionen oder als Basis für eigene Projekte.

Betriebssystem: GNU Linux auf PC und Raspberry Pi. Getestet auf B+ und Pi 3.

email  v.schardinger@gmx.net

Video: Video auf YouTube


Dokumentationen:
  clar_start.pdf     | Projekt c/ und Projektbrowser chelp einrichten
  clar_projekt.pdf     | Projekt c/ Beschreibung
  clar_raspberry.pdf     | Beispiele Raspberry

Download c:  c.tar.gz, Version 2017.10.03   |  Keine Installation notwendig!


Beispiel: Solarsteuerung sun900

Solarsteuerung Raspberry B+ pcf8583

Autonome Solarsteuerung mit Arduino für Warmwasserkollektoren.

In der Entwicklungsphase, zur Kalibrierung, für Einstellarbeiten und für statistische Auswertungen kann der Raspberry über eine USB-Schnittstelle die Kontrolle übernehmen. Die Bedienung mit ssh kann von einem beliebigen, im Netz erreichbaren Rechner, erfolgen.

Beim Start des Raspberrys wird mit crontab das Programm clock8583 (siehe Projekt c/) gestartet. Das Programm setzt die Systemzeit auf die Zeit des Timeservers oder der Echtzeituhr.

Crontab ruft danach fortlaufend den Befehl screenstart sun900 (siehe Projekt c/) auf. Screenstart sorgt dafür, dass immer genau eine Instanz des Steuerprogramms sun900 läuft.

sun900 stellt automatisch eine USB-Verbindung zum Arduino her. Der richtige Arduino wird dabei über eine Sketch-Id identifiziert. Die Verbindung wird laufend geprüft und nach Unterbrechungen automatisch erneuert.

Projekt c/ stellt im Modul comapi.h Funktionen für eine sichere Kommunikation mit mehreren Arduinos bereit. Es werden Datenblöcke mit Slotnummern verwendet. Damit können auch nicht blockierende Verbindungen realisiert werden. Über den Alarmslot 0 können die Arduinos jederzeit Alarmfunktionen aufrufen.

Für die Fernsteuerung wird mit ssh eine Verbindung zum Raspberry hergestellt. Mit dem Befehl screenstart sun900 kann dann die Steuerung übernommen werden. Sollte man aus Versehen sun900 beenden, so startet crontab das Programm neu.

Das folgende Bild zeigt die Terminalausgabe von sun900. Für andere Endgeräte kann ein Webserver verwendet werden.

Die Grafik zeigt automatisch erstellte Messwerte zur Kalibrierung. Die Grafik wurde mit dem Programm turtle erstellt.

Simulation Meswerte


Projekt Browser: chelp

Projektdateien durchsuchen. Stichwortliste frei konfiurierbar.

chelp Stichworte Stichworte

Systemabfragen: infosys

infosys infosys Pi Pi Firmware

Testprogramme für alle Funktionen der Projekt c/ Library

2libdemo Dateidialog Err-Objekt read

Raspberry Pi: Anzeigen steuern

7 Segment Anzeige LCD Anzeige

Raspberry Pi: Echtzeituhr steuern und Systemzeit ohne Netzwerk setzen

Befehle Befehle

Raspberry Pi: Servosteuerung mit Hardware PWM

Hardware PWM Hardware PWM Hardware PWM

Günther Schardinger Linux GNU C objektorientiert gcc make makefile C++ Qt, Arduiono, Raspberry Pi B+, Raspberry Pi 3, GPIO WiringPi i2c Bus BCM Broadcom RASPIAN Debian Jessie USB manuell mounten, Kommunikation PC oder Raspberry und Arduiono, Echtzeituhr für Raspberry, C im 21. Jahrhundert, Programmieren in C, Makefiles, Terminalausgaben