Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.

andersborg's Content

There have been 33 items by andersborg (Search limited from 24-April 23)


By content type

See this member's


Sort by                Order  

#17949 Instantiations when switching mode

Posted by andersborg on 13 September 2011 - 08:37 PM in Netduino Plus 2 (and Netduino Plus 1)

The breakout board variant is needed for easy use, yet Netduino + proto shield + breakout board with RF module seems like a long and unnecessarily costly way to RF Nirvana. Oh well... http://www.sparkfun.com/products/10154



#17948 Instantiations when switching mode

Posted by andersborg on 13 September 2011 - 08:30 PM in Netduino Plus 2 (and Netduino Plus 1)

I've been hoping someone knowledgeable about wireless options might do a comparison and contrast. And would still welcome it. In the meantime, I stumbled across this one Wireless Comparison


My opinions, seeing it from an overall perspective:

These 433 MHz modules are in my opinion the lowest you can go (price and functionality) in terms of getting any wireless communication at all (except home-brewed solutions). They have a lot of drawbacks except for pure "wireless serial" applications though.

The more expensive 802.15.4 modules work fine too, but are considerably more expensive and are still not directly compatible with everyday equipment like broadband routers, PCs, mobiles etc.

Wi-Fi is the best overall local wireless solution in my opinion, when you consider that it provides Internet access (via an access point), smartphone access (think the phone as a control panel / remote, potentially using custom apps) and potentially also MCU-to-MCU communication (but see above for that). What is not so good is the cost. Power consumption might also be a problem.

Both 802.15.4 and Wi-Fi handle many wireless devices in the same network gracefully, but Wi-Fi is much more contemporary from a network topology and usage perspective in that you simply open IP sockets to communicate with anything, including sites across the world (Pachube anyone?).

If you want a solution that works long distances and potentially globally when talking point-to-point you need GSM/3G. There are a few shields available for that. I haven't seen any CDMA modules so far. On the other hand, point-to-point communication is not so important if the device is static, as it can communicate via the Internet. GSM still beats Wi-Fi if the device is moved around, for instance by being placed in a truck, bus, boat or similar and needs to communicate independently of other equipment, possibly combined with GPS and other means for locating/tracking vehicles.

For a little more (actually cheaper than your suggestion if you needed to do duplex) you could go with this one which has a data rate of 115 Kbps, with buffering, duplex and plenty of other features for $7

And for a little bit more you can get this multi frequency unit which has even more features… why, I don’t know, but it has extra 8 bit ADC, temperature sensor and RX and TX FIFO, and low battery detection for $12.


"Pins spaced by 2 mm." Oh heck!

"Look for a breakout board coming soon!" Someone should make a shield.

In any case both these are probably much better than the solution I bought, for a similar price.

This is how my modules look like: http://twitizer.com/q6y7M (sorry for the flickery photo)
No doubt very easy to connect to a Netduino or Arduino, so I'll still try them first. Maybe I can scare them up to 31.25 kbps somehow. The problem is that it needs to be sustainable speed, so buffering won't help polishing off the peaks.

Thanks for the hint.



#17813 Instantiations when switching mode

Posted by andersborg on 09 September 2011 - 10:43 PM in Netduino Plus 2 (and Netduino Plus 1)

If you want to go wireless, this is an inexpensive solution: http://www.sparkfun.com/products/10534 http://www.sparkfun.com/products/10532 I wanted to use this solution for making wireless MIDI, but sadly it's too slow (standard MIDI is 31.25 kbps). I haven't checked whether this can be pushed up somehow. The bearer frequency indicates the information bit rate could be much higher than 4800 bps. But for many other uses it should be fine.



#17812 Instantiations when switching mode

Posted by andersborg on 09 September 2011 - 10:10 PM in Netduino Plus 2 (and Netduino Plus 1)

You can do multi-threading on Arduino too, yet not as user-friendly. I think the main benefit with Netduino/NETMF is the much better development environment, but in part that's compensated by a more extensive library of drivers, faster code execution, better commercial applicability etc in favor of Arduino. You gain some, you lose some. I'd like to see a model of Netduino with a touch display, making it more suitable as a controller, including in Gadgeteer setups. I2C or 1-Wire seem like good choices for communication between MCUs in general.



#17751 Instantiations when switching mode

Posted by andersborg on 08 September 2011 - 11:49 AM in Netduino Plus 2 (and Netduino Plus 1)

Yes, that should work, and thanks for the example, but it's essentially compensating for a software design flaw with otherwise perfectly good hardware, which is the wrong way around. Instantiation could still set the initial mode. The only thing needed would be possibility to switch modes via methods afterwards. Analog vs digital is still an issue though, as those classes have different characteristics, but solvable if done as one Port class. My touch screen implementation works fine as it is, but as I've worked with writing hardware drivers I can see the heap getting filled, cleaned up, filled, cleaned up all the time in my mind. Ignorance would be bliss :).



#17747 Instantiations when switching mode

Posted by andersborg on 08 September 2011 - 08:59 AM in Netduino Plus 2 (and Netduino Plus 1)

I'll post a feature request. Here's a classical case (Nintendo touch screen) where it becomes hairy (and inefficient). Without Dispose I can't re-use/configure the ports, etc. Maybe not all Dispose are needed, but I went for the RAD approach. analog1 = new AnalogInput(X2); analog2 = new AnalogInput(X1); digital1 = new OutputPort(Y1, false); digital2 = new OutputPort(Y2, true); int valueX = analog1.Read(); X = adapt(valueX); analog1.Dispose(); analog2.Dispose(); digital1.Dispose(); digital2.Dispose(); analog1 = new AnalogInput(Y1); analog2 = new AnalogInput(Y2); digital1 = new OutputPort(X2, false); digital2 = new OutputPort(X1, true); int valueY = analog2.Read(); Y = adapt((range - 1) - valueY); analog1.Dispose(); analog2.Dispose(); digital1.Dispose(); digital2.Dispose(); analog1 = null; analog2 = null; digital1 = null; digital2 = null;



#17743 Instantiations when switching mode

Posted by andersborg on 08 September 2011 - 07:36 AM in Netduino Plus 2 (and Netduino Plus 1)

I didn't say it was switching between analog and digital, only that I wanted that ability _too_, apart from switching between digital input and output without instantiating. I understood from other posts what you say about the timing. Very nice with upcoming 1-Wire support in the system, and I'll check out the "alpha" version. Thanks.



#17740 Instantiations when switching mode

Posted by andersborg on 08 September 2011 - 06:38 AM in Netduino Plus 2 (and Netduino Plus 1)

I'm working on communicating with a DS18B20 temperature sensor, and part of the example code in Wiring I found in Practical Arduino looks like this: digitalWrite(Pin, LOW); pinMode(Pin, OUTPUT); delayMicroseconds(5); pinMode(Pin, INPUT); delayMicroseconds(60); If I understand correctly, when using the Netduino class library I need to re-instantiate for every new setting of pin mode. Am I right? If so, this is bad design, as generally instantiations for such a simple and very repetitive task should be avoided on a resource-constrained platform like Netduino (and in general). Doing so is extremely "expensive" compared to just switching mode via a static method implemented in Assembly. Has it been considered to not require instantiation when switching modes, including between analog and digital? Cheers, Anders




home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.