ebay’s IoT Collections: The Mashable Web of Things Home

Welcome to our final blog from the eBay Internet of Things collections series!

In our penultimate post in this series, we were showing you how to implement a low-tech version of home automation using NFC and the EVRYTHNG engine.

This time we’ll look at the bleeding-edge version of our connected home! A home where appliances can be piped together easily to create a dynamically reconfigurable home. Just like you can use IFTTT or Yahoo Pipes to create smart workflows for your data (e.g. if I tweet this, post this to my LinkedIn profile and update this Google Spreadsheet) you should be able to configure the real world just as it suits you. This is what we call: Physical Mashups, i.e. the fast and easy composition of the services of physical devices to create unforeseen applications that meet our needs! Sorry for getting over-excited here but Physical Mashups were a big chunk of my PhD 🙂

The Web is mashable mainly because of APIs (Application Programming Interfaces). This is a little revolution that started a few years ago whereby Websites slowly but steadily started to get APIs, making them Web apps rather than plain sites, the Programmable Web directory is here to witness it! So, the first step in building our futuristic house is to make sure all our devices are accessible via an API (a REST API Link), either directly or indirectly through a gateway or online service like the EVRYTHNG API.

While we won’t be able to review all appliances you have in your home here let us discuss three cases to see how they fit in the picture:

1) First, appliances that come directly with a Web API like the Hue Lamps we talked about in another recipe. These are very easy to integrate to Physical Mashups as they basically tick all the boxes: they are accessible on the IP network and offer a REST API!

2) Secondly, appliances that are hooked up to or proxied by a Web of Things Cloud service such as the EVRYTHNG API. As an example, consider the Smart Coffee Machine we created in a previous post in this series. These are also easy to integrate because the cloud service offers a Web API for the devices.

3) Thirdly, devices that are neither offering a Web API directly, nor through a Cloud service (how dare they in 2014? ;-)). A good example would be all the not-so-smart devices that you have at home like your plain-old-lamps, fans, kettles, old-school-TVs, etc. Well, for those not all hope is lost: we can still make them smart at least at the basic level (on/off) without too much effort. For this we will hack an 433Mhz AM power-switch transmitter, no clue what this is? Well it is a set usually containing a remote control and a number of radio powered power-switches like the one in our collection.

 

transmitter-connected-1024x768

 

Then, thanks to the following tutorial we connect a $5 RF transmitter to an Arduino then connect these to a Raspberry Pi turning it into a 433Mhz RF remote control!

We finally need to Web-enable this so that we can trigger the Raspberry PI “remote control” by means of REST calls. There are several ways of doing this like the very neat heimcontrol.js or the more featureful Webiopi.

Regardless of which one you pick you should now be able to turn on and off literally any device connected to your RF power-sockets!

Last but not least, the mashability comes into play: “How do you wire all these devices together in the same way that you would create Web Mashups?” Well this is where Physical Mashup editors come handy: they let you rewire your home visually! Let me introduce you to two of them: WoT-a-Mashup is a prototyping tool that lets you create your mashups in a snap, directly from your browser (currently only Firefox is supported). It is built on ClickScript, an IDE and great visual language designed to teach kids the art of programming, so it is quite easy to grasp.

Basically each resource you want to integrate into your mashup (including the physical ones!) is a little box that accepts a number of inputs and has 0 or 1 output.

We created two simple EVRYTHNG modules, one that lets you read a property of a Thng (see here) and one that lets you update the property of a Thng.

Now, we can use these two simple modules and combine them with the default modules to create a workflow – workflow below is an example of combining modules. It fetches temperature data that you’ve pushed to the EVRYTHNG API. You can find code examples of how to do this with an OpenPicus Flyport (here) or an Arduino (here).

Then, we check if the temperature is greater than 10; if it is, we send an off command to a device controlled by the EVRYTHNG API (e.g., a heater).

wot-a-mashup

We can also create the same type of workflow to include our Raspberry Pi remote controlled devices. All we need to do is to create our own mashup module. Let’s look at the code of the simple EVRYTHNG module I created as an example.

Basically, we create two simple Javascript methods, one for reading the property (GET), one for updating it (PUT). Both methods also contain the descriptions of the expected inputs and outputs of our module. We then place this file in a folder underneath the /lib folder and name it init.js and off we go, we have created a new module!

This tool is great for quick-prototyping but because it runs your workflows in the browser, it isn’t really a viable option for long-running mashups and real-world use cases.

This is when the great Node-RED enters the game! Node-RED provides a browser-based mashup editor that makes it easy to wire together flows using the wide range nodes in the palette, but it actually runs the mashups on Node.js which means that even when closing your browser they’ll still run!

Node-RED is slightly more complicated to use than the Clickscript language, but it offers a lot more options and is truly tailored for the IoT. To interact with the EVRYTHNG API you could simply use the provided HTTP module, but to make it even easier, we created a Node-RED library for the EVRYTHNG API which you can download and install from here. Note that it currently only offers the option to read and update EVRYTHNG Properties, but we’ll add more features soon!

You can see a sample workflow below where we connected our EVRYTHNG-connected Smart Coffee Machine to Twitter so that if we send a tweet with a special hashtag, we get our favorite coffee served straight away!

node-red

Adding our Raspberry Pi remote controlled devices is as easy as pi(e)! Indeed, because they are behind a REST API, all we need to do is to use the HTTP module to issue the REST calls. Finally, we need a place for our workflows to run. Fortunately, Node-RED runs can be installed on a Rasberry Pi as well (see here), so we can actually push it to our Pi where the workflows will be running until we terminate them.

Here we go, we closed the loop and can now start rewiring our home, thanks to the Web of Things and Physical Mashups!

230 Responses

  1. Lmuqpm says:

    behind the counter allergy medicine generic allergy pills how long do antihistamines take to work

  2. Wriwyb says:

    sleeping pills prescription online purchase modafinil online cheap

  3. Qssbxw says:

    prescription heartburn pills brand glimepiride 4mg

  4. Zjsqwx says:

    best cure for teenage acne benzoyl peroxide order online strongest acne over the counter

  5. Qwcitq says:

    best generic allegra buy generic ketotifen online claritin allergy sinus 12hr costco

  6. Nhjuig says:

    most common nausea medication avapro for sale

  7. Jgxtdn says:

    isotretinoin 20mg us accutane price brand isotretinoin

  8. Qukmsg says:

    brand amoxil 500mg amoxicillin where to buy amoxicillin 1000mg uk

  9. Ssgfps says:

    buy zithromax no prescription buy cheap generic zithromax buy zithromax 500mg pill

  10. Kfinis says:

    order neurontin 800mg pills gabapentin 800mg tablet

  11. Dzvice says:

    azithromycin 250mg without prescription oral azipro 250mg buy azipro 500mg without prescription

  12. Txrywi says:

    lasix 100mg without prescription buy furosemide pills

  13. Xxmrdz says:

    prednisolone 10mg usa omnacortil 40mg usa order omnacortil 20mg generic

  14. Zomexq says:

    amoxil 500mg price amoxicillin without prescription amoxil 250mg brand

  15. Bemthr says:

    buy albuterol 4mg without prescription ventolin oral buy albuterol pills

  16. Wrgglh says:

    levothroid pills levothroid medication order levothroid generic

  17. Gjvbkt says:

    order clomiphene 100mg sale clomiphene sale clomid 50mg sale

  18. Quando suspeitamos que nossa esposa ou marido traiu o casamento, mas não há evidências diretas, ou queremos nos preocupar com a segurança de nossos filhos, monitorar seus telefones celulares também é uma boa solução, geralmente permitindo que você obtenha informações mais importantes.

  19. Ipctfe says:

    semaglutide 14mg us order semaglutide 14 mg online order rybelsus 14 mg for sale

  20. Cbdidy says:

    buy rybelsus 14 mg buy rybelsus tablets semaglutide canada

  21. Hiiogb says:

    prednisone 10mg ca deltasone 5mg uk cost deltasone 20mg

  22. Dfdgda says:

    generic isotretinoin 10mg accutane without prescription accutane canada

  23. Rpzhkb says:

    brand albuterol inhalator how to get albuterol without a prescription purchase albuterol without prescription

  24. Cfwqzf says:

    brand amoxiclav clavulanate cost augmentin 375mg oral

  25. Gczjop says:

    zithromax online order zithromax 250mg ca azithromycin over the counter

  26. Hkhsiw says:

    levothyroxine over the counter order synthroid sale synthroid 150mcg sale

  27. Svdzxf says:

    prednisolone 10mg pill order prednisolone 40mg online cheap order prednisolone 20mg

  28. Bdbkje says:

    serophene us buy clomid generic serophene tablet

  29. Rpymsq says:

    buy neurontin 600mg without prescription neurontin 800mg pills order neurontin

  30. Zslmio says:

    real viagra pharmacy prescription order sildenafil 100mg generic cheap sildenafil generic

  31. Localize por meio do software de sistema “Find My Mobile” que acompanha o telefone ou por meio de software de localização de número de celular de terceiros.

  32. Kmhhff says:

    purchase lasix generic purchase furosemide without prescription buy furosemide 100mg for sale

  33. Rdslmw says:

    rybelsus online order buy rybelsus cheap rybelsus 14 mg oral

  34. Vgjflx says:

    order monodox online cheap order monodox without prescription buy doxycycline 200mg generic

  35. Qgsyzb says:

    order levitra 10mg pills levitra 20mg cost order levitra online cheap

  36. Sijaat says:

    online casino for real cash wind creek casino online games poker online for fun

  37. Ixrmpg says:

    hydroxychloroquine 200mg usa hydroxychloroquine 200mg canada order hydroxychloroquine for sale

  38. Fioawv says:

    pregabalin oral buy pregabalin without prescription order pregabalin online

  39. Xswxwa says:

    cialis tadalafil 10mg tadalafil for sale online buy cialis 40mg sale

  40. Yugerq says:

    oral aristocort generic triamcinolone 10mg triamcinolone us

  41. Fsizzt says:

    order cenforce 100mg cenforce without prescription cenforce for sale online

  42. Rijyfc says:

    purchase clarinex sale clarinex 5mg usa clarinex usa

  43. Qlxbft says:

    cheap aralen 250mg where to buy aralen without a prescription buy aralen pills for sale

  44. Tdgjqs says:

    order loratadine online loratadine price order claritin for sale

  45. Zgxhyz says:

    metformin tablet metformin pill order glucophage without prescription

  46. Sikycp says:

    buy dapoxetine 90mg without prescription misoprostol 200mcg without prescription buy misoprostol pills for sale

  47. Iezloj says:

    xenical 60mg sale buy xenical for sale diltiazem generic

  48. Ifrfiq says:

    lipitor 40mg oral brand atorvastatin 10mg generic atorvastatin 80mg

  49. Iugpoq says:

    purchase amlodipine purchase norvasc amlodipine oral

  50. Hxqaqj says:

    purchase zovirax for sale buy acyclovir 400mg pill zyloprim 300mg generic

  51. Mqtrtr says:

    order lisinopril 5mg pills buy lisinopril 10mg for sale buy lisinopril medication

  52. Rzgesv says:

    buy omeprazole pill prilosec cheap order omeprazole 10mg pill

  53. Pdrlsy says:

    order motilium buy sumycin pill order generic sumycin 250mg

  54. Ershka says:

    buy generic metoprolol buy lopressor 100mg sale lopressor 50mg canada

  55. Gjdara says:

    where can i buy cyclobenzaprine ozobax online order lioresal over the counter

  56. Evgzuj says:

    tenormin 50mg without prescription buy atenolol 50mg pills order atenolol 100mg without prescription

  57. Rkzsrq says:

    toradol price colcrys price colchicine for sale

  58. Dpkhzr says:

    depo-medrol order online medrol australia medrol 4 mg tablet

  59. Zmhoeu says:

    buy research papers online no plagiarism need essay written paperwriter

  60. Hdatbr says:

    inderal 20mg ca buy plavix 150mg pill buy clopidogrel 150mg pill

  61. Hlzhtl says:

    buy methotrexate 10mg for sale order coumadin 5mg pill medex cost

  62. Tjcxmy says:

    mobic 15mg ca buy cheap mobic cheap celebrex 100mg

  63. Dinlbm says:

    order metoclopramide 20mg without prescription purchase metoclopramide pill losartan 25mg sale

  64. Vtceqn says:

    flomax 0.4mg tablet buy celebrex online cheap buy celecoxib 100mg pills

  65. Vqjvzi says:

    nexium 40mg over the counter buy esomeprazole pills for sale topiramate pills

  66. Hundfz says:

    ondansetron 8mg cost buy spironolactone no prescription brand spironolactone 25mg

  67. Uzthxe says:

    imitrex for sale online buy levaquin 250mg pills oral levaquin 250mg

  68. Arbrsg says:

    buy zocor 20mg generic order zocor 20mg sale valtrex uk

  69. Otmenz says:

    avodart over the counter buy zantac no prescription purchase zantac online cheap

  70. Buiqhk says:

    purchase ampicillin for sale cheap amoxil generic cheap amoxil tablets

  71. Qbrjko says:

    propecia 1mg generic oral proscar cost fluconazole 200mg

  72. Tnixvf says:

    order generic baycip – order cephalexin 125mg pill order augmentin 625mg pill

  73. Ihiwgv says:

    baycip online – order generic cipro 500mg order augmentin 625mg generic

  74. Gcrqzd says:

    ciplox 500mg brand – amoxicillin over the counter
    purchase erythromycin

  75. Mblybz says:

    order flagyl pills – cleocin buy online buy generic zithromax online

  76. Wyzeyd says:

    ivermectin order online – cefuroxime 500mg pill buy tetracycline online cheap

  77. Usctsv says:

    buy stromectol 6mg – ciplox over the counter buy sumycin 250mg for sale

  78. Bppqou says:

    valacyclovir over the counter – buy nemazole generic acyclovir drug

  79. Rsrxhy says:

    buy acillin buy acillin online amoxil buy online

  80. Peurrd says:

    oral flagyl – buy cefaclor pills buy azithromycin 250mg for sale

  81. Zkxvvh says:

    buy lasix 40mg online cheap – buy candesartan 8mg sale buy captopril paypal

  82. Okwesl says:

    glucophage 1000mg drug – buy generic lamivudine buy lincocin 500 mg without prescription

  83. Iiovdd says:

    where can i buy cheap retrovir – order lamivudine generic zyloprim 300mg canada

  84. Stnljt says:

    buy generic clozaril for sale – buy generic clozaril online pepcid 20mg pills

  85. Kqrkfv says:

    cost quetiapine – zoloft order eskalith online

  86. Yaetid says:

    anafranil 50mg over the counter – order paroxetine online doxepin 25mg us

  87. Kgmgua says:

    order hydroxyzine 10mg sale – purchase endep for sale order endep 25mg without prescription

  88. Elhzpc says:

    clavulanate for sale – buy bactrim 960mg generic purchase cipro

  89. Zsqmnq says:

    cheap amoxicillin sale – amoxil over the counter order cipro 500mg generic

  90. Rrymsd says:

    azithromycin 500mg ca – ofloxacin cheap where to buy ciprofloxacin without a prescription

  91. Ndhmwy says:

    cleocin 150mg generic – purchase chloramphenicol without prescription purchase chloromycetin for sale

  92. Ormztf says:

    ivermectin 12 mg for humans – stromectole online cefaclor 500mg uk

  93. Eerqlr says:

    cheap albuterol inhalator – buy generic seroflo inhalator buy theo-24 Cr online

  94. Fzozxx says:

    medrol buy – order zyrtec 10mg for sale buy azelastine 10 ml online cheap

  95. Hqwkzl says:

    desloratadine price – buy generic beclamethasone for sale albuterol 4mg without prescription

  96. Ucamfm says:

    glucophage 500mg usa – januvia pills precose 50mg generic

  97. Efhbeh says:

    purchase glyburide online cheap – buy dapagliflozin without a prescription purchase dapagliflozin without prescription

  98. Qdivcw says:

    buy repaglinide 1mg generic – buy jardiance 10mg for sale buy jardiance pills

  99. Floydboiva says:

    mexican border pharmacies shipping to usa: Online Pharmacies in Mexico – mexican pharmaceuticals online

  100. WilliamVet says:

    top 10 online pharmacy in india http://indiaph24.store/# cheapest online pharmacy india
    indian pharmacy paypal

  101. Civrao says:

    order rybelsus 14 mg sale – buy semaglutide 14 mg online cheap buy DDAVP generic

  102. Bhrsvu says:

    lamisil 250mg pill – order fluconazole 200mg sale grifulvin v drug

  103. Upkjmq says:

    how to buy ketoconazole – generic mentax itraconazole buy online

  104. Spryej says:

    order famciclovir pills – cost valaciclovir 500mg valcivir 500mg tablet

  105. RickydeW says:

    reputable indian online pharmacy indian pharmacy cheapest online pharmacy india

  106. PedrotoN says:

    purple pharmacy mexico price list: mexico pharmacy – reputable mexican pharmacies online

  107. Marcelkib says:

    https://indiaph24.store/# cheapest online pharmacy india

  108. RickydeW says:

    india online pharmacy indian pharmacies safe world pharmacy india

  109. Cphppt says:

    lanoxin pill – calan 240mg cheap furosemide 100mg oral

  110. Williampsype says:

    http://nolvadex.life/# tamoxifen premenopausal

  111. DavidAmowl says:

    ciprofloxacin mail online ciprofloxacin buy cipro

  112. Randallcredo says:

    order cheap propecia price: cost of cheap propecia without rx – get cheap propecia pill

  113. DavidAmowl says:

    lisinopril medication prescription zestril 2.5 mg tablets lisinopril 100 mg

  114. Williampsype says:

    http://cytotec.club/# buy cytotec online

  115. Randallcredo says:

    common side effects of tamoxifen: tamoxifen for breast cancer prevention – nolvadex price

  116. DavidAmowl says:

    hysterectomy after breast cancer tamoxifen tamoxifen brand name tamoxifen and weight loss

  117. Williampsype says:

    http://ciprofloxacin.tech/# buy cipro cheap

  118. Ronaldmop says:

    http://ciprofloxacin.tech/# buy cipro online

  119. DavidAmowl says:

    buy cheap propecia buy propecia now cost cheap propecia prices

  120. Randallcredo says:

    tamoxifen hair loss: nolvadex gynecomastia – tamoxifen hip pain

  121. Williampsype says:

    https://ciprofloxacin.tech/# antibiotics cipro

  122. DavidAmowl says:

    п»їcipro generic cipro ciprofloxacin where can i buy cipro online

  123. Randallcredo says:

    cipro ciprofloxacin: buy ciprofloxacin – ciprofloxacin over the counter

  124. Williampsype says:

    https://cytotec.club/# buy cytotec online

  125. DavidAmowl says:

    zestril 25 mg buy lisinopril 20 mg online uk п»їbuy lisinopril 10 mg uk

  126. Ronaldmop says:

    http://lisinopril.network/# how much is lisinopril 40 mg

  127. Igwfyc says:

    lopressor 100mg pill – losartan 50mg brand nifedipine pills

  128. Randallcredo says:

    cost of generic propecia pills: get propecia without dr prescription – cost of generic propecia for sale

  129. DavidAmowl says:

    nolvadex during cycle is nolvadex legal benefits of tamoxifen

  130. Williampsype says:

    https://nolvadex.life/# tamoxifen hormone therapy

  131. Cjvxeo says:

    microzide 25 mg us – order zestril 10mg without prescription buy zebeta for sale

  132. Randallcredo says:

    tamoxifen cyp2d6: is nolvadex legal – tamoxifen cancer

  133. DavidAmowl says:

    does tamoxifen make you tired common side effects of tamoxifen tamoxifen pill

  134. Williampsype says:

    http://nolvadex.life/# tamoxifen vs raloxifene

  135. Ronaldmop says:

    http://nolvadex.life/# how to prevent hair loss while on tamoxifen

  136. Randallcredo says:

    tamoxifenworld: tamoxifen alternatives premenopausal – tamoxifenworld

  137. DavidAmowl says:

    buy cytotec pills buy cytotec Misoprostol 200 mg buy online

  138. Williampsype says:

    http://finasteride.store/# order propecia without dr prescription

  139. DavidAmowl says:

    buy lisinopril canada lisinopril 20 mg canada lisinopril 20mg 25mg

  140. Randallcredo says:

    compare zestril prices: lisinopril 20 mg india – generic lisinopril online

  141. Williampsype says:

    https://cytotec.club/# buy cytotec online fast delivery

  142. DavidAmowl says:

    cipro ciprofloxacin generic price п»їcipro generic

  143. Randallcredo says:

    nolvadex d: tamoxifen dose – tamoxifen skin changes

  144. Ronaldmop says:

    http://cytotec.club/# cytotec online

  145. Williampsype says:

    http://cytotec.club/# п»їcytotec pills online

  146. DavidAmowl says:

    buy cytotec pills cytotec buy online usa buy cytotec pills online cheap

  147. Randallcredo says:

    cipro: ciprofloxacin order online – ciprofloxacin

  148. Williampsype says:

    http://finasteride.store/# buying propecia price

  149. DavidAmowl says:

    buy zestril online lisinopril 20mg daily lisinopril 125 mg

  150. Randallcredo says:

    buy cytotec online fast delivery: buy cytotec pills online cheap – cytotec abortion pill

  151. Charlesdar says:

    https://levitrav.store/# Levitra tablet price

  152. Georgemob says:

    buy viagra here: sildenafil online – viagra without prescription

  153. ElmerPax says:

    Generic Cialis without a doctor prescription Generic Cialis without a doctor prescription cheapest cialis

  154. Glslxc says:

    nitroglycerin ca – catapres pill valsartan 160mg pills

  155. Jamesguaph says:

    order cenforce: cenforce for sale – order cenforce

  156. ElmerPax says:

    Viagra online price Buy Viagra online cheap sildenafil 50 mg price

  157. Charlesdar says:

    https://levitrav.store/# Levitra 10 mg best price

  158. Jamesguaph says:

    buy Kamagra: kamagra – super kamagra

  159. ElmerPax says:

    Cheap Levitra online buy Levitra over the counter Vardenafil online prescription

  160. Georgemob says:

    buy kamagra online usa: kamagra oral jelly – Kamagra 100mg price

  161. Davidsip says:

    http://cenforce.pro/# Cenforce 150 mg online

  162. Jamesguaph says:

    Viagra online price: sildenafil online – Viagra Tablet price

  163. ElmerPax says:

    Buy Tadalafil 20mg Cialis 20mg price in USA cheapest cialis

  164. Charlesdar says:

    https://cialist.pro/# cheapest cialis

  165. Tylerblire says:

    https://cenforce.pro/# order cenforce

  166. Jamesguaph says:

    Cheap Sildenafil 100mg: Buy Viagra online cheap – Cheap generic Viagra

  167. ElmerPax says:

    super kamagra buy kamagra online Kamagra tablets

  168. Lcgrve says:

    simvastatin hit – tricor pair atorvastatin worship

  169. Charlesdar says:

    https://viagras.online/# Cheap Viagra 100mg

  170. ElmerPax says:

    Cheap Levitra online Buy generic Levitra online п»їLevitra price

  171. Jamesguaph says:

    Vardenafil price: Buy Vardenafil 20mg – Buy Vardenafil online

  172. Georgemob says:

    cenforce for sale: Cenforce 150 mg online – Cenforce 100mg tablets for sale

  173. Davidsip says:

    https://cenforce.pro/# Cenforce 100mg tablets for sale

  174. ElmerPax says:

    п»їcialis generic Generic Tadalafil 20mg price Buy Tadalafil 20mg

  175. Charlesdar says:

    https://kamagra.win/# п»їkamagra

  176. Felipejap says:

    http://pharmindia.online/# online pharmacy india

  177. Donaldnow says:

    indian pharmacy: india pharmacy – buy medicines online in india

  178. DavidZew says:

    rx pharmacy no prescription online pharmacy canadian pharmacy without prescription

  179. WilliamGlify says:

    mexican border pharmacies shipping to usa: buying prescription drugs in mexico online – mexican online pharmacies prescription drugs

  180. DavidZew says:

    can i buy prescription drugs in canada canada pharmacies online prescriptions online pharmacy without prescription

  181. Donaldzobia says:

    pharmacy no prescription required: can you buy prescription drugs in canada – online prescription canada

  182. Felipejap says:

    http://pharmworld.store/# online pharmacy no prescription needed

  183. WilliamGlify says:

    canada pharmacy online no prescription: can you buy prescription drugs in canada – buying prescription drugs online canada

  184. Donaldnow says:

    canada pharmacy 24h: canadian pharmacy ltd – canadian drugstore online

  185. DavidZew says:

    canadian pharmacy world canada drug pharmacy canadadrugpharmacy com

  186. Tslggx says:

    rosuvastatin gratitude – zetia front caduet pills ten

  187. Felipejap says:

    http://pharmcanada.shop/# canadian drug stores

  188. WilliamGlify says:

    reputable mexican pharmacies online: mexican border pharmacies shipping to usa – mexico pharmacy

  189. DavidZew says:

    prescription canada can i buy prescription drugs in canada medications online without prescriptions

  190. Jeromewer says:

    https://pharmworld.store/# online pharmacy without prescription

  191. Felipejap says:

    https://pharmnoprescription.icu/# prescription canada

  192. WilliamGlify says:

    india online pharmacy: top 10 online pharmacy in india – best india pharmacy

  193. DavidZew says:

    best online pharmacy that does not require a prescription in india buying prescription drugs in india canada prescriptions by mail

  194. Donaldnow says:

    my canadian pharmacy review: canadian pharmacy ltd – reputable canadian pharmacy

  195. Felipejap says:

    https://pharmmexico.online/# mexican pharmacy

  196. Donaldzobia says:

    best online pharmacy india: п»їlegitimate online pharmacies india – cheapest online pharmacy india

  197. WilliamGlify says:

    northern pharmacy canada: best mail order pharmacy canada – canadian pharmacy ltd

  198. DavidZew says:

    canada pharmacy safe online pharmacies in canada the canadian drugstore

  199. Felipejap says:

    https://pharmmexico.online/# pharmacies in mexico that ship to usa

  200. WilliamGlify says:

    vipps canadian pharmacy: online pharmacy canada – best canadian pharmacy online

  201. Marvingah says:

    where to purchase doxycycline where to get doxycycline doxycycline monohydrate

  202. Richardgab says:

    amoxicillin where to get: buy amoxicillin 500mg usa – buy amoxil

  203. Henrygob says:

    buy zithromax online: zithromax buy online no prescription – where can i buy zithromax in canada

  204. Marvingah says:

    zithromax online pharmacy canada zithromax z-pak where can you buy zithromax

  205. CharlesDwege says:

    cost of prednisone 40 mg: prednisone 4 mg daily – can i order prednisone

  206. Billyfem says:

    https://amoxila.pro/# buy amoxicillin online with paypal

  207. Henrygob says:

    generic doxycycline: buy doxycycline without prescription – where to get doxycycline

  208. Richardgab says:

    doxycycline generic: doxycycline 100mg capsules – buy doxycycline cheap

  209. Henrygob says:

    zithromax buy online: generic zithromax india – can i buy zithromax over the counter in canada

  210. Lntumv says:

    viagra professional staircase – viagra professional front levitra oral jelly online mark

  211. Marvingah says:

    amoxicillin azithromycin amoxacillian without a percription order amoxicillin 500mg

  212. Henrygob says:

    zithromax tablets: zithromax online – zithromax 500mg price in india

  213. CharlesDwege says:

    generic doxycycline: doxycycline hyc – buy doxycycline without prescription

  214. Richardgab says:

    zithromax 500mg price in india: where can i get zithromax over the counter – zithromax over the counter uk

  215. Billyfem says:

    http://gabapentinneurontin.pro/# neurontin 200 mg price

  216. Marvingah says:

    medication neurontin neurontin 30 mg neurontin 200 mg tablets

  217. Henrygob says:

    amoxicillin online pharmacy: can we buy amoxcillin 500mg on ebay without prescription – buy amoxicillin without prescription

  218. Ljzmzj says:

    dapoxetine well – aurogra chant cialis with dapoxetine nobody

  219. Billyfem says:

    https://zithromaxa.store/# where can i buy zithromax medicine

  220. Henrygob says:

    how much is generic neurontin: neurontin 200 mg – neurontin 200 mg

  221. Billyfem says:

    https://amoxila.pro/# generic for amoxicillin

  222. Marvingah says:

    buy cheap neurontin neurontin cost australia generic neurontin

Leave a Reply

Your email address will not be published. Required fields are marked *