Can an arduino go on the internet by itself? - Page 1
Forum section: electronics / general

author: Beamin
author_rank: Super Contributor
timestamp: June 08, 2018, 06:15:56 pm
content: I saw a project without much in the way of technical details where you connect an arduino to a sensor on your door and you get a text on your phone that the door opened. What is involved in this? It seems the makers of the kits don't want you to figure this out. First you would need a chip with a radio for wifi. Then you would need to connect to that something that can do ip? Or is that an all in one device? Then that somehow communicates with the Arduino that sends data to it that its IO line has changed? What's the protocol for the Arduino to communicate with outside devices can it handle ethernet or USB? I always try to explain to people that an Arduino can really do anything but how and the limitations of a microcontroller vs a raspberry pi baffle me. What kinds of computer stuff can it do? Very vague but still working gout the differences in a micro vs FPGA which really can do anything within limits of how many arrays it has. Do all micros fit some sort of standard that sets them apart from asic's? I know can it can do more then then: this input is low so set this output high. How much can it think or can't it and it's just a glorified set of relays that react to inputs? If an Arduino was a computer would it be like a commodore 64 needing a video card?

author: Wilksey
author_rank: Super Contributor
timestamp: June 08, 2018, 06:24:34 pm
content: Depends on your Arduino (including clones).Some come with Ethernet, capability, some come with WiFi capability, some come with built on board GSM.The basic Arduino UNO comes with neither of the above, so would need to be connected to 1 or more shields to do the deed.Sending a text message can either be via GSM or via the internet by way of email2sms gateways.

author: hans
author_rank: Super Contributor
timestamp: June 08, 2018, 06:42:01 pm
content: If we make ahardsplit with software and hardware, then all an Arduino needs is some chip that can receive and transmit ethernet frames. It can be via Wifi or wired ethernet, it doesn't matter. The rest is "just" software sauce; i.e. a TCP/IP stack; that handles IPv4, ARP, DHCP, DNS, TCP, UDP, etc.A normal desktop OS has all of these protocols built in, as well as device drivers for a wide variety of hardware peripherals. For ease of use, configuration is done automatically using device IDs. In order to make a computer general purpose, it has a file system that can be stored data and applications. The OS takes care that each process can execute safely without crashing the computer (in most cases), and also that it cannot touch other processes 'too much' (i.e. read a password while you're logged in, without admin rights).If you don't need any of this flexibility or security, then a custom solution can be significantly smaller. Some IOT devices that have an smartphone app sometimes talk to a server in "the cloud", which could be as simple as a hardcoded IP (or better: a hardcoded domain which it performs a DNS look up for) that it talks to. You don't need a massive OS for that; you can code this up in an Arduino with a few kB of code size probably, while runningsufficientlyfast for simple applications.FPGAs don't offer any direct benefit in this. FPGA's are just a huge sea of gates, a logic fabric, in which you can create custom processors, data processing applications and other custom digital hardware. Mapping tasks with a lot of choices in them (control dominated) is not very ineffective in a FPGA.

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: June 08, 2018, 10:49:41 pm
content: Quote from: Beamin on June 08, 2018, 06:15:56 pmAn Arduino and a GSM shield, to send a text message.QuoteYes, and a keyboard, and all the other stuff...Another way to look at it is an AVR is the CPU from a Commodore with a little RAM and Flash to store the program, and an Arduino is an AVR on a PCB with a voltage regulator and some connectors.

author: bitseeker
author_rank: Super Contributor
timestamp: June 08, 2018, 11:29:28 pm
content: Quote from: Beamin on June 08, 2018, 06:15:56 pmIn the Arduino world, add-on boards are referred to as shields. There are shields for Ethernet, Wi-Fi, GSM cellular, LoRA, etc. to enable communication via these methods.QuoteTypically, the shield would have support for the required protocols, thereby reducing the amount of RAM needed by the microcontroller.QuoteSoftware libraries (from the Arduino project or third-party) enable you to interact with the shield to send/receive data.QuoteYes, just buy or build the appropriate shield for the type of communication you desire. Alternatively, look for an Arduino-compatible board with what you need already built onboard.QuoteNote that Arduino is a platform (hardware and software specifications/standards) and there are many boards that are compatible. The processor on the boards vary and, hence, their capabilities can vary quite a bit as well.Typically, microcontrollers have very little memory and less processing capability as compared to microprocessor-based systems. So, although microcontrollers can do many things, they can't do everything. A Raspberry Pi uses a microprocessor, has much more memory, and typically runs a desktop or server operating system. It's essentially a computer on a PCB, which is very different (significantly more powerful) from a microcontroller.Microcontrollers are good for small, simple tasks that may be time-sensitive.Microprocessors are good for large, computationally intensive tasks that aren't highly time-sensitive.QuoteASIC: Application-specific integrated circuit. It can contain whatever is needed to accomplish a computational task such as processors or various kinds of memory. It's manufactured in a factory and cannot be altered thereafter.FPGA: Field-programmable gate array. It can be thought of as an ASIC that can be changed after it's manufactured. It's between a microprocessor (very flexible and general purpose as it's primarily software driven) and an ASIC (fixed to the purpose it was initially made for, purely hardware).A microcontroller or microprocessor can be implemented in an ASIC. Add the RAM, ROM, and other support hardware into the ASIC and you get an SoC (System on Chip).QuoteYes, an Arduino board would be like the C64's motherboard, only much more compact due to modern electronics. In fact, one could make a rudimentary computer with an Arduino board like thishttps://makezine.com/2014/11/13/an-arduino-based-computer/

author: Dingo
author_rank: Newbie
timestamp: June 10, 2018, 09:38:06 am
content: Yup - Buy a 5 dollar ESP8266 and it gives you an Arduino in the sense of having digital and analog interfaces plus can act as a host or client or both on WiFi...

author: Beamin
author_rank: Super Contributor
timestamp: June 10, 2018, 12:20:49 pm
content: Quote from: bitseeker on June 08, 2018, 11:29:28 pmMy question is specifically what kinds of protocalls can it use?There must be a limitation on speed and type. For eithernet I'm guessing you use two digital IO lines to a shield that goes out to eight pins?

author: bitseeker
author_rank: Super Contributor
timestamp: June 11, 2018, 12:18:38 am
content: The protocol support depends on the specific shield being used. Some may have more capability on board, thereby offloading the microcontroller. You'll have to look at specific products for more specific answers.At an extreme, a $2 Arduino board could use a couple of wires to command a supercomputer to run a weather simulation and give it back a particular result. So, it all depends on the implementation.

author: amyk
author_rank: Super Contributor
timestamp: June 11, 2018, 02:08:42 am
content: It's notable that adding a GSM module to an Arduino is like putting a big-block V8 into a kid's toy car --- even the cheapest GSM processor will have orders of magnitude more power.https://www.bunniestudios.com/blog/?p=3040Also worth pondering...https://hackaday.com/2014/08/29/bit-banging-ethernet-on-an-attiny85/

author: westfw
author_rank: Super Contributor
timestamp: June 11, 2018, 09:08:41 am
content: QuoteNot really. You can put "arbitrary" amounts of processing power in the "peripheral." The "standard" ethernet shield for Arduino includes a processor that implements all of TCP and IP, and the usual wireless modules include Wireless protocols, IP, and TCP as well. As Amyk said, it's very common for the modules to contain MUCH more processing power than the Arduino itself.The easiest way to implement the original target application:Quoteis probably to connect to a suitable cell phone using the Arduino Serial port. At one point, I think it was common for relatively dumb phones to support sending SMS via commands input on a serial expansion connector. (More or less the same as a GSM module, I guess, but ... cheap phones are cheaper than GSM modules...)