Giter Site home page Giter Site logo

rstephan / artnetnodewifi Goto Github PK

View Code? Open in Web Editor NEW
79.0 11.0 20.0 44 KB

Arduino library for a Art-Net-Node (artnet) over WiFi, handle DMX data and response to Poll requests. Runs on ESP8266, ESP32, WiFi101 and WiFiNINA devices.

C++ 73.41% C 26.59%
artnet wifi dmx arduino wifi101 wifinina esp8266-arduino esp32-arduino

artnetnodewifi's Introduction

ArtnetnodeWifi

This is a version for Arduino ESP8266 modules. It is adapted to use the ESP8266 Wifi instead of ethernet. Besides the ESP8266, it can also run on ESP32, WiFi101 (e.g. MKR1000) or WiFiNINA (e.g. NANO 33 IoT) devices.

Installation

Place this in your ~/Documents/Arduino/libraries folder.

Supported OpCodes

Name Status Description
OpDmx/Output yes Send/Receive DMX-data
OpNzs yes DMX-data, non-zero start
OpPoll/Response yes Request device status
OpCommand no
OpRdm* no
OpVideo* no
OpMedia* no
OpFile* no
OpDirectory* no

Examples

RGB LED

Light up 3 LEDs (R, G and B) based on artnet frames.

Send DMX

Send out DMX messages on the serial port at 250k

Debug

Send out the debug-text on the serial port at 115.2k

Transmit

Transmit a universe into the network.

Copyright

Stephan Ruloff, 2016-2020 https://github.com/rstephan/ArtnetnodeWifi

Art-Net

Art-Net(tm) is a trademark of Artistic Licence Holdings Ltd. The Art-Net protocol and associated documentation is copyright Artistic Licence Holdings Ltd.

Art-Net

History

Based on: https://github.com/solexious/Artnetnode

Artnetnode

An artnet and DMX processing and handling library for the Tiva C Launchpad though the Energia IDE

Requirements

Requires a build of the latest energia from git for changes to the ethernet library

https://github.com/energia/Energia

Copyright

Charles Yarnold 2015 - [email protected]

Acknowledgments

artnetnodewifi's People

Contributors

rstephan avatar solexious avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

artnetnodewifi's Issues

Esp32 performance unreliable

Hi. I’ve noticed ESP32 performance to be very unreliable using this library compared to when I use it with ESP8266. Are there are ESP32 optimisations that are worth doing? I’m using NodeMCU 32S

LED flickering

I've just downloaded the ArtnetnodeWifi library and tested the ESP8266_Artnet_RGB_LED.ino example on two different WeMos chips (based on ESP-8266ex). The node connects to my WLAN and receives the ArtNet packets. But all LEDs are flickering - regardless of the DMX value (except 0 of course, where all LEDs are turned off).

Looks like a PWM problem to me, but can't figure out how to solve it for the moment. Already tried to set the PWM frequency to 200Hz by adding analogWriteFreq(200); but it didn't help. Does anyone have an idea? Is it an ESP8266 problem or maybe a library issue?

DMXsend problems with certain devices

Hello and thanks again for the great library
It works really well in my experiments. (dmx send)
but with two devices (cheap goods) the device reports a DMX signal
but not responding to input.
I've done some research and have an opinion on the issue
timing or DMX refresh rate ;

Is there anything you can change to see if it has an impact?

How to obtain ArtNet message via Artpoll

Hi.Thank's in advance and sorry for my poor english.I've a question.How can I read long name and short name from ESP artnet node? Now I'm using your artnetwifi library to command my new esp2866 artnet interface.All works fine!!! In my old Arduino Artnet node(wired), using broadcast (lan 2.x.x.x sub 255.255.255.0 ,an old artnetnode library) I send an art_poll command and I receive via wired lan all necessary data I've stored in Long and shor name (Ip address set in manual or auto mode, and more).Now with this new card, using Wifimanager,the problem is that I dont know his Ip address.I can discover his Ip only via ROUTER (Wifi connected). Maybe a nice way If I must able to read Ip stored (long and shor name) in same manner that I use in arduino card, via OPCODE.How can I solve this problem?Thank's in advance - Mario

Prefered library?

Hello!

I was looking for an esp32 artnet library and liked the way your's worked, then realised it's based off my old one for the launchpad! Was very excited to see others had been using my code, as it doesn't have the github fork link I didn't find this repo till now. I had tweaked it to run on the esp8266 a few of years back but never got around to publishing it.

Anyway, I'm looking to modify an artnet library to work with the ttgo ethernet poe esp32 board for wired ethernet artnet. I see you also have the https://github.com/rstephan/ArtnetWifi library. Is this or that library depreciated for the other? Is there one you would suggest using as a foundation over the other?

Cheers!

ArtNet output

Hi, thank you for the great library.

Are you going to implement a write function like ArtnetWifi library in order to send out ArtNet?

Opcode trigger. How can I read and use?

Hi Stephan,
Sorry again..... I would kindly need to read the "TRIGGER" artnet opcode. I don't know how to modify your library, could you give me some directions? I need to change the status of an esp8266 digital output (Wemos d1 mini) by commanding via the Opcode trigger.Thanks any way and good continuation.
Mario

Update Library Version

Hey! I am using PlatformIO for arduino development. When i try to compile the library, i get the following error:

/home/soeren/.platformio/lib/ArtnetnodeWifi_ID1709/src/ArtnetnodeWifi.cpp: In member function 'uint8_t ArtnetnodeWifi::begin()':
/home/soeren/.platformio/lib/ArtnetnodeWifi_ID1709/src/ArtnetnodeWifi.cpp:55:40: error: ambiguous overload for 'operator~' (operand type is 'IPAddress')
   localBroadcast = IPAddress(localIP | ~localMask);
                                        ^
/home/soeren/.platformio/lib/ArtnetnodeWifi_ID1709/src/ArtnetnodeWifi.cpp:55:40: note: candidates are:
/home/soeren/.platformio/lib/ArtnetnodeWifi_ID1709/src/ArtnetnodeWifi.cpp:55:40: note: operator~(uint32_t {aka unsigned int}) <built-in>
/home/soeren/.platformio/lib/ArtnetnodeWifi_ID1709/src/ArtnetnodeWifi.cpp:55:40: note: operator~(u32_t {aka long unsigned int}) <built-in>
/home/soeren/.platformio/lib/ArtnetnodeWifi_ID1709/src/ArtnetnodeWifi.cpp:55:40: note: operator~(int) <built-in>
*** [.pio/build/oak/libf80/ArtnetnodeWifi_ID1709/ArtnetnodeWifi.cpp.o] Error 1

After diving into the commit history, i found your latest commit (3dbac9d) handles exactly this line. But in PlatformIO the latest libray version does not contain this commit. Only the second latest commit is available (6d79db8).

I am not sure about this, but for me it seems that PlatformIO only recognizes updates if the version, in library.properties, is incremented.

Compiling error

In new Arduino IDE (Mac and windows) compile error

Arduino: 1.8.9 (Mac OS X), Плата:"Generic ESP8266 Module, 80 MHz, Flash, Disabled, ck, 26 MHz, 40MHz, DOUT (compatible), 512K (no SPIFFS), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"

/Users/Alf/Documents/Arduino/libraries/ArtnetnodeWifi-master/src/ArtnetnodeWifi.cpp: In member function 'uint8_t ArtnetnodeWifi::begin()':
/Users/Alf/Documents/Arduino/libraries/ArtnetnodeWifi-master/src/ArtnetnodeWifi.cpp:55:40: error: ambiguous overload for 'operator~' (operand type is 'IPAddress')
localBroadcast = IPAddress(localIP | localMask);
^
/Users/Alf/Documents/Arduino/libraries/ArtnetnodeWifi-master/src/ArtnetnodeWifi.cpp:55:40: note: candidates are:
/Users/Alf/Documents/Arduino/libraries/ArtnetnodeWifi-master/src/ArtnetnodeWifi.cpp:55:40: note: operator
(uint32_t {aka unsigned int})
/Users/Alf/Documents/Arduino/libraries/ArtnetnodeWifi-master/src/ArtnetnodeWifi.cpp:55:40: note: operator~(u32_t {aka long unsigned int})
/Users/Alf/Documents/Arduino/libraries/ArtnetnodeWifi-master/src/ArtnetnodeWifi.cpp:55:40: note: operator~(int)

Opcode unknow

Hi, I love your project. i have an unbranded chinese node that uses its own app to work. I am trying to build another one with your library. but the software does not detect it. I clone all the data I found mac, name, manufacturer, etc but still not detected and looking at the traffic I found an unknown opcode that doesn't follow artnet rules, besides port changes. I believe that the data of this opcode is what enables it to be recognized. I can add that response somehow?, create that opcode?. the photos with ip 0.1 are the software packages and those with ip 0.2 are those of my node
Uploading 3201F052-D32A-41F7-B50F-E313BC3AE675.jpeg…

Best practise to troubleshoot for signal ---> No Idea if I did set it up wrong or if my DMX broadcast is not working

Hey, I am banging my head against this.
I have used the example "send dmx ..." and I am using DMX Resolume Arena to broadcast a dmx signal to my fixtures.
But I have no clue if I don't receive any signal on the esp32 or if I have setup the library wrong or if my dmx output is just wrong or not working.

My setup:
AZ Delivery ESP32 + Resolume DMX Arena

ESP logs successfull connection to wifi and sends one "dmx data packet reveived" ping and then nothing more.

How can I figure out where the stopper is? Or how would you test for positive signal in the wifi and signals received on the esp32?

Thank you a lot

It is not issue

Hi! I don't know how I can send you a message.
Have artnetNode library transmit function? like"ArtnetWifi"
When I use "ArtnetWifi" transmit - no nodes detected and no activity in ArtNetominator say

number of universe

Hello, I was not careful last time.
Qlab show "0 universe" but I can't change it to other num...
artnetnode.setStartingUniverse(2); - don't working, always "0 universe" show :(

DMX Signal Flickering

I'm testing your SendDMX example on an Adafruit Huzzah ESP2866. The DMX output is coming from a Grove DMX512 adapter.

Everything is mostly working except the DMX signal is "flickering" - all channels momentarily drop to zero several times a second. Any thoughts on what may cause this?

more then 1 dmx output

Hello and thanks for the great library
a question, I'm probably asking myself too stupid
the library supports multiple dmx outputs
how are the universes mapped to the exits
and can you define the output pins on the esp32?

Dmx output problems.

Hello there Rstephan,

Really like your project, but i have several difficulties...

After some troubles and lack of programming knowledge did manage to upload the project on the esp32 and send dmx signal to my fixture.
Well, the kind of parts is because i can control the fixture, but it pulses, even when it's on static color.
Here is an example of it:
https://drive.google.com/file/d/1lV7s2vHFKQZ8JdcY57Oe4aiVMXRaPp2X/view?usp=sharing

Intensity is at 10% and on solid color.
When fade in or out from 0-100% manually it's fine till the moment when stop and again start to flicker.

Any ideas?

get channel value

Hi rstephan,
did you implemend (my english is bad - i mean did you "already") a function to get the value of a channel ?
Your LED sketch isnt working because the leds will never be set....
Thats why im asking.

Thanks in advance,
gamecompiler

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.