So I have a 3018 Pro running GRBL 1.1, the USB connection is fine but I need to put this in the garage so need WiFi working.
I was planning on using LaserGRBL and adding the usual ESP8266 in “websocket” configuration (it can supposedly do that or I guess telnet with alternate hardware).
I went to LaserGRBL’s webpage and he gives a file “websocket.ino” which I guess is some kind of Arduino development file, I don’t do Arduino so don’t know.
So I went looking around on GitHub and there’s an entity Nodemcu that has entire libraries of ESP8266 code, in fact they have it set up so you can select from up to 70 different modules, plus they have a nice binary file flash loader.
The problem is I don’t really know which modules GRBL 1.1 actually needs to have on the ESP8266 in order to make websocket functionality work.
I tried “guessing” but I wasn’t getting anywhere (I can activate the hardware and see a signal from it but I can’t communicate with it).
Nodemcu hasn’t responded to my email yet, ESP8266.com hasn’t either and LaserGRBL simply REFUSES to provide support in any form!
Can you point me in a direction where I can make progress?
I don’t know the architecture of GRBL, LaserGRBL OR websocket, and for it to be up to me to “reverse engineer” ALL of this source code JUST to complete the codebase for something that has already been thoroughly integrated and debugged just doesn’t seem reasonable or logical!
Hi Jeff,
you must say what board do you have in your 3018, and you must know if It’s Arduino based or completely integrated.
When you identify the RX and TX pins you must follow this tutorial.
Bye Renzo
Yes it’s Arduino-based.
Nobody showed me a detailed way to identify the board.
If it helps the “brand” is something referred to as CNCTOPBAOS and the machine is called 3018 PRO MAX.
Yes I know about RX and TX being swapped between Arduino and ESP8266, and the ESP8266 running off 3.3 volts, I have that aspect “all under control”.
Another part that may help identify is the offline controller connector is 8 pins not 6, and it ships with “Candle” but I need the other program so I can use WiFi.
Is there some master reference where I could look up more of this myself?
I realize this isn’t “development” therefore not that interesting to you but my lodging conditions don’t allow me to run either the computer out there nor the CNC in here!
Hi Jeff,
I can’t find anything of detailed about your board.
Without a connection schema or PCB It’s very difficult to do something similar.
Sorry bye Renzo
OK Renzo (sorry I apparently spelled your name incorrectly, it was VERY late)…anyway it’s possible maybe you’re familiar with this code right?
(If I’m going to get someone to help me I want to try and ask for help with something they’re familiar with) So somehow it finally occurred to me what this guy LaserGRBL wanted me to do as he described on his website
to get the websocket sketch built, and I did my darnedest to follow his instructions to the letter, but then I came up with these errors:
webserver:90:34: error: ‘WStype_t’ has not been declared
90 | void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght)
| ^~~~~~~~
webserver:162:6: error: redefinition of ‘void setup()’
162 | void setup()
| ^~~~~
C:\Users\New\AppData\Local\Temp\untitled457104433.tmp\sketch_mar01a\sketch_mar01a.ino:1:6: note: ‘void setup()’ previously defined here
1 | void setup() {
| ^~~~~
C:\Users\New\AppData\Local\Temp\untitled457104433.tmp\sketch_mar01a\webserver.ino: In function ‘void setup()’:
webserver:169:37: error: cannot convert ‘<unresolved overloaded function type>’ to ‘WebSocketsServerCore::WebSocketServerEvent’ {aka ‘std::function<void(unsigned char, WStype_t, unsigned char*, unsigned int)>’}
169 | webSocket.onEvent(webSocketEvent);
| ^
In file included from C:\Users\New\AppData\Local\Temp\untitled457104433.tmp\sketch_mar01a\webserver.ino:5:
C:\Users\New\Documents\Arduino\libraries\WebSockets\src/WebSocketsServer.h:50:39: note: initializing argument 1 of ‘void WebSocketsServerCore::onEvent(WebSocketsServerCore::WebSocketServerEvent)’
50 | void onEvent(WebSocketServerEvent cbEvent);
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~
C:\Users\New\AppData\Local\Temp\untitled457104433.tmp\sketch_mar01a\webserver.ino: At global scope:
webserver:180:6: error: redefinition of ‘void loop()’
180 | void loop()
| ^~~~
C:\Users\New\AppData\Local\Temp\untitled457104433.tmp\sketch_mar01a\sketch_mar01a.ino:6:6: note: ‘void loop()’ previously defined here
6 | void loop() {
| ^~~~
exit status 1
‘WStype_t’ has not been declared
Maybe you have some idea if I could still be doing something wrong? Or would you have a recommended fix? All I know is he says he’s not providing support, and I guess that’s fine but I would think if he takes that position the code ought to at least compile cleanly, so now what do I do?
Maintaining a repository (or site or forum) is a lot like tending to a garden - it requires constant care and attention to keep it thriving. If you're a skilled gardener (or coder!) and want to help keep our repository blooming, we'd love to have you on board! We're also looking for talented writers and forum moderators to help us grow our community. Interested in joining our team? Don't hesitate to reach out and let us know how you can contribute!
Are you a fan of electronics or programming? Share your knowledge with others, write a simple tutorial or how to make a great project Contact me: share_your_ideas@mischianti.org
The content displayed on this website is protected under a CC BY-NC-ND license. Visitors are prohibited from using, redistributing, or altering any content from this website for commercial purposes, including generating revenue through advertising. Any unauthorized use is a violation of the license terms and legal action may be taken against individuals or entities found to be in violation.
You must also provide the link to the source.
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.