Sunday, December 17, 2017

Google Nearby 101

It has been a huge challenge for business owners how to get people download their apps so that they can send notifications containing rich information about their products, services and promotions. One of the best idea how to get people's attention is to send them notifications even if they have not downloaded the app. This is a good idea aside from hiring somebody to be stationed in front of the store to convince people download the app and giving away flyers. The advantage of the electronic form is that it can be done 24/7 all year round.

Google introduced sometime in 2016 the Physical Web integrated with Chrome Internet Browser and using Eddystones. But the transmission and detection is intermitent and unreliable so it did not became very popular. About 7 months ago(not so sure) Google introduced the Nearby Messaging Service to replace the Physical Web and I only got to know about this 3 days ago and since then, I had been experimenting with it. Based on my tests, this is more stable and reliable even though the greatest setback is that the smartphone has to be connected to the internet to retrieve information about the beacon and in order to receive the notification, the screen must be opened and bluetooth and location services must also be turned on. But at least the service is consistent and stable. I also noticed that the notification had no sound at least on my cherry mobile flare xl 2 and the samsung s8 which I experimented with at the concept store and the notification disappears all by itself after 10 to 20 minutes. I wonder why google did not made the notification the same as receiving an sms message. The aliexpress app had the same notification characteristics as the sms messaging. Or at least google provided a way to let users configure it that way. And lastly, do take note that once the notification is deleted, it will not reappear too soon because of google's standard notification backoff policy. I figured a way to make the notification reappear quickly by disabling - enabling the bluetooth service.

All android smartphones with at least KitKat(4.43) version had this Google Nearby. And are ready to receive the Eddystone signal. The photo below is the screenshot of my SKK Android Kitkat showing the notification from google nearby and the physical web software. Both notifications came from the same eddystone beacon. In this device, both google nearby and physical web are not reliable. I just forced both software to detect the beacon signal.


Here is how I made the google nearby worked:

1. I created a Google Cloud Platform Project. This should be easy because if you are in the Beacon Dashboard which can be found here link, The first screen will abvice you to create a project.:
And here is the project I created:

2. After you created the project, it will take you back to the first screen and click your project to select it.

3. Download the Beacon Tools app in Play Store to register the beacon. Open the app and it will ask you to choose your project. Just select your project and the next screen will detect your beacon unregistered. The screen shot below shows the Eddystone URL frame. This frame cant be registered in Google Nearby. Only the UID or EID frames are allowed which I already did. Just make sure that the eddystone is in connectible mode.


And here is the registered UID Frame:
And here is the registration screen:

I only populated the Description field and saved the registration on this android app.

4. I went back to the Beacon Dashboard and clicked on the project and it has taken me to the screen that lists all active beacons on that project.


5. I clicked the active beacon I registered in the Beacon Tools app, and has taken me to a screen that allows me to further configure the beacon:

In this screen, I populated all the fields and added just one property and went to the second tab(create attachment).



 Even though I had no idea what it is for, I just created a dummy data:

And here is the attachment I created:


And lastly, I created the Nearby Notification:


I saved the data I entered. My main objective here is to just send a notification message which when clicked, will open my blog to an internet browser on the smartphone.

And here is the final result showing the Eddystone URL link:



I have not explained in detail what each fields are for because I am also a beginner trying to make the Google Nearby work and so that I can check if it is stable and yes it was! There are other message types that will allow the user to open the app of the eddystone owner if it was already installed or will open the google play store which displays the app and the user will have to click the download button and install the app.

To complete my experiment, I went to a nearest Samsung Concept store and brought along my Eddystone to check if other android smartphones can detect the signal without doing any configuration and it was a success, I did not took any picture because I did not bring along my phone so that I can fully test it. Bringing along my phone could influence the result.

Conclusion:
I still see a lot cons than pros but the best part of it is that the service is very stable and reliable and google has solved the huge problem how to get people' attention to get them download the business owner's app.

Saturday, December 16, 2017

Ways Eddystones can help boost sales of Businesses

With the Philippines' growing economy, big retailers keeps on investing in huge malls all over the country leaving small players struggling to boost sales. This holiday season, employees has received their 13th to 14th month pay plus Christmas bonuses and have a lot of money to spend.

With this huge potential customers, capturing a small portion can make retailers earn more profits. Beacon technologies is new and most likely very few developers and business owners are aware of its existence. And because of this, if early adapters use the technology to attract more customers is one great advantage because of the following reasons:

1 Beacon Technology can deliver relevant information to potential customers at the right place and the right time.
2. Traditional Marketing tool have smaller conversion rate than Beacon Marketing Technologies.
3. Beacon Marketing Technology enhance customers shopping experience by introducing new payment methods and helping them get the information they need with incredibly rich content and carefully designed website and video.
4. It can prevent customers frustrations when they cant find the products they need by sending them forms that will enable them to list those products and retailers can inform when the product is already in stock in invite them to come back.

I end this post with a sample news report featuring the beacon technology:


Digital Passes Issuance App with Eddystone

Digital Passes although not widely used in the Philippines can be a great tool to lure more customers or reach more customers that can not be reached by traditional forms of marketing tools. And with the help of eddystones, you can promote your products 24hrs a day or even when you go to a party. I have made a post explaining in detail what digital passes are(Pass2U Pass Issuance Service Integrated with Ibeacons).



As we all know, eddystone signals can be detected by any smartphone when the Physical Web is enabled in that smartphone. So in this case, we can develop a webpage that can generate a digital pass(like a discount coupon or an event) so that when the owner of that smartphone clicks on the link displayed on the physical web screen, it will automatically download the digital pass.

This marketing tool can be effective if the eddystone is placed along the highway or you may always carry it along with you so even if you are not saying anything about your business, people will still get know about it.

Friday, December 15, 2017

Developing Eddystones App In Android

Eddystone beacons is google's answer to Apple's Ibeacon. Both devices use BLE technology but differ in advertising protocols.

Ibeacons transmit a single frame wherein the Ibeacon identifier bytes is at the 8th and 9th byte of the frame. See picture below as seen on Ibeacon Detector app on android:

And a more detailed data structure of the frame is below:


In comparison, Eddystones transmit 3 frames which is like below:
As an evidence, if you use Ibeacon Detector App to detect the Eddystones, you will notice that the data packets received always changes that is because eddystones transmit 3 frames.

I have previously developed an android app to scan ibeacons (A Simple Ibeacon Scanner App in Android) and this app can be slightly modified to scan for eddystones as well by removing the validation that look for "0215" pattern in the frame and look for valid values to identify the frame type as described in the last picture.

A lot of people ask, why do we need eddystones since we already have ibeacons? The answer is obvious, eddystones is able to transmit more data than ibeacons. Ibeacon frame contain only the RSSI, UUID, Majo and Minor. The latter 3 is used to identify the ibeacon, while the eddystones frames contain the TX power, Temperature, URL, Battery Charge Level, Instance Id, Namespace Id, and many more.

Monday, November 20, 2017

I repaired my Micro M3d Printer

It was more than a year ago when I bought my very first 3d printer to try if the technology really works as I have seen on youtube. During that time, it was the cheapest 3d printer available(not the diy type).

During the first few days, I had very good experience with it, no wastage, all printed objects were perfect. Then when I decided to print a chopping board that would take 34hours to print and left it printing while I went to work. When I came back in the afternoon, to my surprise and dismay, it failed and it continued to print but no filament is coming out. That is weird. All the happy days with the printer became a constant nightmarish struggle just to succeed in printing. It even came to a point where the heating element was destroyed and negotiated with M3D to repair it but they came up with having the entire unit be replaced with a new one, but the new replacement had also the same problem. That was really weird.

I got fed up and decided not to use it anymore and that when I will have a time to go over it again, I had to tear it apart to check what controller they used. Not until last Sunday when I decided to repair it. I first downloaded the latest version of the software and during the first run, it asked me to update the firmware, so I updated the firmware and try to print the wheel used in a mars rover. To my surprised, the printer output was fairly solid, this is the first good output it ever produced so I thought maybe there is nothing wrong with the hardware, it was just the firmware that made all that troubles.

I thought that was the end of the problem, but when I tried to print the same object, the x-axis slowly shifted to the right. I tried other settings but yielded the same result. It was not brittle but the x-axis keeps on shifting to the right, weird!

I concluded that it is not the hardware that is making all these mess, it was the software and the firmware. So I tried to look for alternative to use other software and I succeeded, Adafruit had an article wherein they used raspberry pi and octopi. I tried it, and so far, I am getting good result. Octopi uses Cura engine which is used by Ultimaker.

So far this is the 3d printer busy printing the mars rover wheel:

Another good thing about using octopi is that I dont have to connect my laptop to the rpi all the time so while the rpi is busy printing i could use my laptop developing the accounring software and play dota.

Tuesday, October 3, 2017

Spindle Upgrade Project

The spindle that came with the cnc I just got is small, good enough to cut even a 12mm thick acrylic which is awesome because laser cutters requires 100w to cut acrylic this thick. But for me it is not powerful enough because I am planning to use the cnc as production machine for my air purifiers si I need to upgrade it and I found a suitable dremel class hand tool which can be bought cheaply at local hardware.

It is perfect since the tip of the hand tool is threaded so that means I can create a custom bracket having the same diameter as the original spindle and I will attach it to the cnc with no problem.

So I had to buy aluminum block (50mmx50mmx50mm) and off I go to my favorite machine shop to have it done perfectly. And with a few discussions with the machinist, he was able to execute the task perfectly and here is the result:

but when I tried to tighten the clamp to its maximum, the spindle still moves but I don't blame the machinist since I was the one who said the diameter should 45mm, but I was able to solve easily by wrapping the bracket with scatch tape and the problem was solved:
SO I test it further while moving the z-axis upwards, it wont go up to 30mm because the custom bracket was too thick it acts as a barrier so, tomorrow I will go back to have it fixed, it was still my fault, hehe here is the problem area:
Another problem I encountered is that as the rotation speed reaches 12000 rpm, the attached endmill begins to wiggle so I still need to fix it:




Monday, September 25, 2017

I got a new CNC and I made a simple spindle dust hood

I have bought a mini desktop CNC. I need this CNC because I have sold the big cnc I had and planning to put an air purifier business but to make 1 air purifier, I would need a casing and to make a casing, I need laser cutting services which is very expensive so if I have my own small cnc, I could bring the price so low that I could beat the branded air purifiers not just in terms of very effective air cleaning but the pricing as well.

Ok, that solves my problem, and yes it can cut acrylic, but to use it, requires devices and add-ons to protect the cnc itself and prevent dust from flying all over my tiny place, that's why I came up with the idea of creating at least a dust hood for the spindle.

All the dusts and forces that makes the scatter and fly over the place is at the spindle, so having a dust hood at this area of cnc can help solve the problem by 90 to 100% .

Here is the cnc with my old raspberry pi 2:

My original plan was to use the cnc with the raspberry pi 2 and make a casing similar to this:

but the raspberry pi was very slow in transmitting gcode to the cnc so I scrapped the idea.

I started the project(making a dust hood for the spindle) last Sunday, and I was able successfully created a simple dust hood which is like below:



It passed all my tests, it can prevent dusts from flying and scattering all over the place. Efficiency is at 85% but installing and uninstalling is not easy and very inconvenient, so I separated the attachment and brush holder and went to a nearby machine to have them tapped and the result was awesome but very expensive. The machinist charged me Php800 but I haggled until we agreed at Ph600 which is still very expensive.




Here is the much closer look the new dust hood: