Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Raspberry Pi: List of available example applications

1 day ago
<< < 1 2 (Page 2 of 2)
  • Moderator3S

    Moderator3S - 2017-09-25

    Reading RFID's with an USB RFID reader.
    (KKmoon Berührungslose 14443A IC Kartenlesegerät Kartenleser Card Reader mit USB Schnittstelle )
    (Webvisu is mandatory for doing this - we use the visu key Event handling)

    IMG: RFID_.jpg

    IMG: RFID.jpg

    RFIDKeyEventHandler_RASPI.project [110.56 KiB]

  • Moderator3S

    Moderator3S - 2017-11-25

    Author: TON
    Communiction with Sonos speakers
    Program made with:
    - PlayBar (Woonkamer)
    - PLay 1 (Left)
    - PLay 1 (Right)
    - Sub (Subwoofer)
    - Play 3 (Keuken)
    - Play 1 (Badkamer)
    - Play 1 (Slaapkamer)

    Uses UDP socket for upnp Discover, TCP Server for events and TCP Client for commands.
    Visualization for each group.
    Display play status each group.
    Control Play, Pause, Next, Previous each group.
    Control Volume and Mute for each player.
    See property each speaker by dialog.
    Max 10 groups, 10 speakers with 3 satellites(LR, RR en SW).
    Play doorbel

    - Find Sonos players with upnp discovery
    - Find correct local ip if more then one network adapters
    - Subscribe/Unsubscribe upnp events
    - ZoneGroupTopology (for enumerate groups)
    - AVTransport (get actual play status)
    - RenderingControl (get volume/mute)
    - Get XML player info
    - Dialog box to display player info
    - Webvisu. http://xxx.xxx.xxx.xxx:8080/webvisu.htm m

    IMG: Sonos.jpg

    Sonos.projectarchive [851.95 KiB]

  • Moderator3S

    Moderator3S - 2017-11-26

    Author: TON
    Push notification to Android/ios/desktop withPusover.
    Push notification to your device with title, message, sound and application.
    For $5 (once) you can push 7500 notifications per month.

    With this account you can create notification for applications.
    This application has name, token, icon,.. So you can create a clear structure.
    In this example you see a notification for three applications.

    I use this for over a year and works like a charm.

    I just use some of the possibilities, there a more. See https://pushover.net/api.

    IMG: Pushover.png

    Pushover.projectarchive [109.59 KiB]

  • Moderator3S

    Moderator3S - 2017-12-21

    This example shows how to use a port-expander PCF8574 I2C without library/device description
    from the application code.

    Control Christmas lights:

    https://www.youtube.com/watch?v=6vsxV-Bj6-4 m

    IMG: XMas.jpg

    Weihnachtskrippe.project [104.73 KiB]

    • siscu - 2024-05-15

      Could this be turned into a library? I'd love for a way to have the main program call a function block method using the program's I2C_master device.
      I assume I should be passing the master as a variable for the function block, but I don't see how that could be achieved

  • Moderator3S

    Moderator3S - 2018-10-19

    Login by ssh to the PI:

    dmesg | grep -i tty
    to check which serial interface is available / connected

    1. remove ';' /etc/CODESYSControl_User.cfg in the section [SysCom] and adapt ttyS to your used device
      for example if you use USB which is connected to USB0 then it should /dev/ttyUSB in this config file


    1. If you use the serial port which is on the GPIO's (3.3V!) then you need to enable it in
      sudo raspi-config ( Interface options - login shell disabled and serial hardware enabled)

    2. User https://store.codesys.com/serial-com.html as example on how to use the serial port in CODESYS

  • Moderator3S

    Moderator3S - 2018-11-10

    even on Pi this is not really needed,
    you could use on Raspian Stretch and use Chromium in full screen mode - this feels then similar to
    how to do this?

    Add a CODESYS Project with webvisualisation and then:
    Target VIsu is not possible but a good solution is on Rasbian(not Rasbian lite):

    sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
    sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
    (depends on the installed RASBIAN Version)

    lxpanel --profile LXDE-pi
    @pcmanfm --desktop --profile LXDE-pi
    @xscreensaver -no-splash
    @xset s off
    @xset s noblank
    @xset -dpms

    @chromium-browser --noerrdialogs --kiosk --incognito http://localhost:8080/webvisu.htm m

  • Moderator3S

    Moderator3S - 2019-04-08

    I just spent the day installing two identical serial devices. One was a RS-485 dongle and the other an RS-485 to TTL adapter for a power supply. Both come up as an "QinHeng Electronics HL-340 USB-Serial adapter" with identical ID's according to "lsusb". The root problem was that occasionally, they would end up swapped. Since they are both identical, there was no distiguishing characteristics for my "udev" rules for the devices. Between this thread and some Linux sites I found a work around. I wanted to share it here in case it may help others, and also so that I can refer back to it after I forget how I made it work

    In essence, instead of giving the device a permanent linux device, I gave a permanent linux device to the USB port. It seems each port on the Pi board has a unigue ID. This is shown below as port 1.2-1.5 at the following link:
    https://askubuntu.com/questions/49910/h ... ters#50412

    Armed with this knowledge I then created and edited /etc/udev/rules.d/99-usb-serial.rules. This file contains the following:

    SUBSYSTEM=="tty", ATTRS{devpath}=="1.5", SYMLINK+="ttyUSC0"
    SUBSYSTEM=="tty", ATTRS{devpath}=="1.3", SYMLINK+="ttyUSC1"
    SUBSYSTEM=="tty", ATTRS{devpath}=="1.4", SYMLINK+="ttyUSC2"
    SUBSYSTEM=="tty", ATTRS{devpath}=="1.2", SYMLINK+="ttyUSC3"

    The 1.5 device is my RS-485 dongle and the 1.3 device goes to the USB-TTL board.

    Next I edited /etc/CODESYS_User.cfg. The following lines were added:


    With this configuration the USB port number (as shown in the link), USB 1.5 will always be Codesys port 1. Likewise USB port 1.3 will always be Codesys port 2, etc. With the tests Ive performed, the comm adapter addresses are now tied to a USB "port" (or slot) rather than being first come first served. With all said and done the Modbus server connected to my dongle is now at (and as long as I dont change slots will be) com device 1. Likewise the Modbus at the other adaptor is and should remain comm 2. Long story short, I know what com port it is based on which slot the device is plugged into.

    A word of caution, I dont know how this will act with a USB hub or device besides a com device. My thought is if it causes problems, delete the lines from usb-serial-rules that are not needed. Also, the devices seem to no longer be "hot swappable". From what I have seen a reboot is required if a device is removed and reinserted. Hope this helps someone else also.

    IMG: bMScc.jpg

  • Moderator3S

    Moderator3S - 2019-08-19

    Autor: nikk4s
    Date: 28.01.2019

    Link to the post: l viewtopic.php?f=23&t=9483 l

    An example with an arduino mega as a modbus tcp slave with an ethernet shield. This example uses Analog pin 0 and pwm pin 5. These are connected to a webvisu meter and slider within the program Control_Stuff. Analog pins 0-7 and pwm pins 5-9 are available with the included sketch and project.

    mega_mudbus_analog_slave.zip [80.59 KiB]

  • eschwellinger

    eschwellinger - 2020-04-14


  • tim-schulle - 2022-11-21

    Hello, I searched a lot on codesys forge how to get the values of a barcodescanner into my codesys project.
    I hava a barcodescanner which is configured as USB Virtual COM. On the linux terminal in "cat /deb/ttyACM0" I can see the scanner is sending the information of the QR-Codes. I want to send a command to scan and get the value of the code. I have a Manual in the attachments.

    But I simply don´t know how to get the values in Codesys.
    Which settings or tools do I need in Codesys? I have absolutely no idea. I dont understand the example projects. Can someone explain how I must go on? Probably with screenshots step for step?

    I am German, if you want to answer in German.

<< < 1 2 (Page 2 of 2)

Log in to post a comment.