what should i use for lossless and fast wireless communication?

i'm working on a bot that will constantly keep communicating with a central server (sending characters) which is an android device or a pc. it needs to be fast (best if takes less than 5ms for sending 6-10characters). i have almost no idea about wireless communications except for a Bluetooth. i have used a HC-04 but it didn't seem quite good at the job (had lots of data corruption when used withinvolt).

i'll be using a raspberry pi or an Arduino for the communication and processing on the bot part. i'll be sending strings as commands or data from the central server and the bot will parse it and do something according to that data and the command.

i need range of at least 5 meters (best if it can reach 10-15m). and yeah the bot will be moving when sending the data if that is of any help.

how can i configure the Arduino to delay or pause until the data has been successfully sent and a confirmation message from server has reached Arduino?

any link for more info on these topics will be much appreciated :slight_smile:

the Raspberry Pi has built in WiFi or you could use an Arduino with an ESP8266
are you writing the server code or using existing software?
is the server connected to a local network and the Internet?

horace:
are you writing the server code or using existing software?
is the server connected to a local network and the Internet?

writing the server code. it's not a full stack server or something that comes with all kinds of protocols and other stuff. i do not have a clear idea of how the server will be if i'm not using involt. i have worked with involt before and used my pc as a central server but because of my very bad experience with involt i'm quiting. i thought i'll figure something out for the server thing. actually, it'd better if you provide some info/link on this topic :3

i don't want to connect to internet or anything currently. actually the server is just a simple android device or windows pc. so, being connected to internet is not something i care about right now but i'm pretty sure it won't be hard to connect my processings with internet. but, the server will be connected to a kinda local network where bot will be the main slave device and other devices on the network (android devices) will be able to access map informations stored in any of the devices (pc or any storage system).

you could use WiFi to connect to the server on your local network then use TCP or UDP to send informtion
what programming language would you use on the server? I tend to use C++, C# or Java for TCP/IP servers

If you are familiar with web programming then a WiFi solution would make sense.

However if you are not it may actually be easier to use a pair of nRF24L01+ wireless modules - one in the robot and the other in another Arduino connected to your PC or RPi using a USB cable. The nRF24 modules are cheap and work well.

I believe you can connect an nRF24 directly to an RPi but I don't have any RPIs so I have never tried it.

...R
Simple nRF24L01+ Tutorial

Robin2:
If you are familiar with web programming then a WiFi solution would make sense.

However if you are not it may actually be easier to use a pair of nRF24L01+ wireless modules - one in the robot and the other in another Arduino connected to your PC or RPi using a USB cable. The nRF24 modules are cheap and work well.

I believe you can connect an nRF24 directly to an RPi but I don't have any RPIs so I have never tried it.

...R
Simple nRF24L01+ Tutorial

i'm familiar with front end developing (mainly javascript) how can that help me with wifi communication? :
and i think i'm going with a wifi module. can anyone point me to a any good wifi module? or should i use the built in wifi of raspberry pi 3? is that good for my purpose?

and i wanted to add another question. how can i make the Arduino delay/wait until the data has been sent and a confirmation has arrived?

I have used the ESP-01 module with Arduinos to communicate with servers using HTTP POST and GET

never used the Raspberry Pi for this but I am sure a web search will give you plenty of links

I did not work on the server side - a collegue implemented the database and web software and my Arduino code communicated with Python scripts on the server which executed the HTTP commands and displayed results on web pages - again a web search should give you information on this topic

when you send a HPPT GET request from the Arduino the code will wait for a reply (assuming sucessful connection) and you can check the results returned