I'm with a group working on a thing. What that thing will do is not important to this discussion at the moment. What is important is that I'm expecting a flood of data from the thing (think QS/IoT) to a phone. Plus, I'll have a second thing, doing the same thing.
The current demo hardware is using wireless ethernet, which is proving slightly problematic. It's built with the idea of being used by hobbyists who want to put the chip in a thing, not for a group of many developers to prototype and develop on the hardware. I'm also unsure about the ease of setting up WiFi Direct on two devices with simplified user interfaces, and whether it'll block your phone.
So, I'm looking into Bluetooth Low Energy. I got two BLE breakout boards from Adafruit, had a friend solder in the header pins, and hooked everything up according to the docset with my Arduino Uno R2. I installed the Nordic UART app on my phone and got bi-directional communication going from my phone to my laptop and vice versa.
Then, I tried to wire up my $9 Arduino, a Leonardo clone. No go. (I did it wrong. More later.)
Then, I bought an Arduino Uno R3 at half-price from Radio Shack. No go.
Then, I borrowed an Arduino Mega and started to look into the pins. By the code, the pins not set in software are the ones providing the breakout board with CLK, MISO and MOSI. This is my first time talking to a breakout board, so I'm a neophyte to the ways of SPI. The Leonardo moved the SPI controls to another set of pins, so now that I'm slightly less dumb, I get why that failed. But the fact that the Mega and Uno R3 failed still confuses me. I timed out at midnight — had more things to do the next day than time — so I don't know if I'm stupid or what, but I had others verify I had the wiring right, and I think I plugged the second board into the first breadboard, just to ensure both were working.
I think.
Ultimately, getting this working with my R3 (or whatever) is a means to an end. It gives me behavior similar to what I expect from the things, so I can begin to work on the part that's receiving. I want to listen to two BLE devices at once. Or four. Or five. Or more. These things will be our things, perhaps coded in Arduino or not, but will certainly not be Leonardo or Uno boards, so understanding how SPI works differently on these boards is ultimately useless.
Except it absolutely must happen to move on to the next step.
Contributing to this frustration is the fact that I don't know enough about the problem domain to ask an intelligent question. I'm coming into the world of Arduino as a programmer, and in essence, what I have are variables I can set high or low, or sometimes somewhere in between, and variables I can check that are high or low, or sometimes somewhere in between. Between the set and ground, or 5V and checking is a circuit, and there's a lot about wires and resistors and the process of handing variables around that I just do not understand. With the Leonardo, the step after next (after being sure the second board works) would be to find female-to-female jumper wires, as all I have are male-to-male, then wiring to those SPI pins should be cake.
But it strikes me that someone else has failed to get this working on R3 Unos before, and I'm not seeing that person's cries for help, maybe because I'm not looking in the right place. Neither Stack Overflow nor the EE Stack Exchange site seem to really be good places, and as useful as the Adafruit Learn page is (written by the man who wrote the book on BLE), there's no way to engage back, to get clarification.
Anyway, I'll beat some more on it this evening. We'll see how far I get.
My reasoned, well-considered thoughts on gadgets, computing, quantified self, health, open source and whatever else gets my dander up.
Cookie Notice
As far as I know, and as far as I remember, nothing in this page does anything with Cookies.
Showing posts with label yak shaving. Show all posts
Showing posts with label yak shaving. Show all posts
2015/02/23
2012/06/05
Addendum to Yak Shaving and such
First, let it be known that my issue with minification seemed to be a bug in the code being run through it, and making my code more JSLint-compliant (not yet compliant, but more so) solved that issue.
But it was suggested that I should use JavaScript::Minifier::XS, and that works, too. Plus, this is a library that's on CPAN, which is somewhat a stamp of quality and portability, so I'm sure I'll work with that. I suppose I should head-to-head the compression and JSLint of both minifiers, but that can happen later.
But it was suggested that I should use JavaScript::Minifier::XS, and that works, too. Plus, this is a library that's on CPAN, which is somewhat a stamp of quality and portability, so I'm sure I'll work with that. I suppose I should head-to-head the compression and JSLint of both minifiers, but that can happen later.
2012/05/29
It's Yak Shaving Day
What is Yak Shaving Day?
I can repost the Jargon File entry, but I'd rather explain via my life.
I'm creating a complex data entry application using Perl's Dancer MVC framework as the core, but as the requirements are complex, I'm doing a lot of the front-end in Javascript and jQuery. As I'm using Dancer, I have an outer template that's holding the head and thus the libraries. So, I could have several libraries that do all sorts of stuff on several sub-pages, or I can start out right and create these things with testing and a mechanism, qua Steve Souders, to unify all the Javascript libraries I write into one file, minify it and gzip it. Having each library separate for testing is another goal of this process.
Right now, I'm hung up on making the minifier work. I'm trying to use YUI Compressor, which should come via apt-get on my Ubuntu box, but it's failing to work, kicking out Java errors. There was a point in my history where I was excited about Java, but that was before I tried to use it. The reality of writing Java (in this case, the applets that were once in vogue but now have been replaced by Flash, which is increasingly being replaced by the raft of interconnected technologies we call HTML5*) and the official preference for GUI interfaces over the command-line or compatible code that was and is my bread and butter. So, I have repressed any knowledge of debugging Java I may have gathered, and that knowledge occurred over a decade ago. So, I'm out of my depth.
So, I will be shaving yaks today. Hopefully not waking up in a ditch.
* Allow me to apologize for my tendency to place paragraphs in parentheses. I'd claim that it won't happen again, but parenthetical digressions have always been my favorite pastime, which leads to the topic of this post.
Labels:
frustration,
javascript,
programming,
yak shaving
Subscribe to:
Posts (Atom)