How to ? Espressif IOT Plateform - iot

I am a non-software guy with some hands-on with Arduino IDE and ESP-12E. I want to use Arduino IDE and ESP-12E for testing Espressif IOT App. I have gone through almost all resources but could not find a step-by-step guide on:
How exactly to flash the FREE RTOS SDK to ESP-12E? What files in what bins? And what locations?
What is the Arduino code? I found some literature and code on GitHub but this is quite abstract for me as it assumes advanced user knowledge.
Can someone tell me how to go about step by step to test Espressif IOT App?

AFAIK the ESP RTOS SDK is not yet supported by the Arduino platform. You will have to use another IDE that supports CMake (Eclipse, Visual Studio) and integrate the ESP SDK with the IDE. Keep in mind that development on the RTOS platform requires a good level of programming know-how.
You cannot "flash" the RTOS SDK onto an ESP chip: the SDK is a toolchain that is used to develop the binaries that you flash onto the chip. There are several quickstart guides on the Espressif website to get started with the SDK, but as you are not familiar with development using embedded toolchains, I suggest that you stick to Arduino platform for now.

Related

Advantage of using visual studio on windows for iphone app development over native environment

I am reading a way to setup iphone application development environment on my windows. It states that “A network-accessible Mac set up with Apple's build tool” is required. My confusion is that, if i need to buy a mac machine and need to setup an envionment then why i will use windows and visual studio?
I am exploring why it is advantageous for me to build ios app in xamarin when i need to buy mac machine and install xcode. Why i will use xamarin when i am new to both C# and swift?
Please ignore my limited knowledge and flaw in question.
Using Xamarin to build apps
enables C# developers (there are millions of them) to leverage the language and framework they already know instead of learning a completely new one
allows them to share code between existing C# apps written for the web or desktop (very important in an Enterprise environment)
using Xamarin Forms, allows you to create a single codebase that targets multiple platforms (iOS, Android, UWP, etc)
if all you care about is iOS and you don't already know C#, then Xamarin may be of limited benefit to you

What Xamarin is actually doing when using an iOS build host?

I've noticed that there is a possibility in Xamarin to connect Visual Studio to an iOS build host.
What is this build host, is there any documentation about its architecture? What code does Xamarin.iOS send to this build host?
[Edit]
I want, as a personal project, make an iOS build host in Windows. I know that this can be achieved, and I'm sure that technically, I have all the needed tools to re-create one. My concerns is about the architecture of an original iOS build host. I want to know what is the communication between Xamarin and a iOS build host, and what is the build flow. And this is not documented.
A great explanation from here.
Xamarin.iOS compiles c# source code against a special subset of the
mono framework. This cut down version of the mono framework includes
additional libraries which allow access to iOS platform specific
features. The Xamarin.iOS compiler, smsc, takes source code and
compiles it into an intermediate language, ECMA CIL (common
intermediate language), however it does not produce ECMA ABI
compatible binaries unlike the normal mono compiler, gmcs or dmsc.
This means any 3rd party .Net libraries you want to include in your
application will need to be recompiled against the Xamarin.iOS subset
of the mono framework using smsc.
Once a Xamarin.iOS application has been compiled into CIL it needs to
be compiled again into native machine code that can run on an iOS
device. This process is carried out by the SDK tool ‘mtouch’, the
result of which is an application bundle that can be deployed to
either the iOS simulator or an actual iOS device, such as an iPhone or
iPad.
Due to restrictions placed by Apple, the iOS kernel will not allow
programs to generate code at runtime. This restriction has severe
implications for software systems that run inside a virtual machine
using just-in-time compilation. Just-in-time compilation takes the
intermediate code, for example mono CIL and compiles it at runtime
into machine code. This machine code is compatible for the device it
is running on at the time of execution.
To work around this restriction the mtouch tool compiles the CIL ahead
of time. A process that the mono team describe as AOT, ahead of time
compilation.
Some quotes from Xamarin docs:
Xamarin iOS for Visual Studio accomplishes an amazing feat: it lets
you create, build and debug iOS applications on a Windows computer
using the Visual Studio IDE. It cannot do this alone, however - iOS
applications cannot be created without Apple’s compiler, and they
cannot be deployed without Apple’s certificates and code-signing
tools. This means that your Xamarin iOS for Visual Studio installation
requires a connection to a networked Mac OS-X computer to perform
these tasks for you. Once configured, Xamarin’s tools will make the
process as seamless as possible.
Starting with Xamarin.iOS 4.0, there are two code generation backends
to Xamarin.iOS. The regular Mono code generation engine and one based
on the LLVM Optimizing Compiler. Each engine has its pros and cons.
Typically, during the development process, you will likely use the
Mono code generation engine as it will let you iterate quickly. For
release builds and AppStore deployment, you will want to switch to the
LLVM code generation engine.
Conclusion
So there is no way to make an iOS build host in Windows, as you said.
I guess Xamarin send to the build host the .Net assembly file (Orange part of the picture), to be compile into native ARM code using Apple llvm, and others tools like xcode-build to signed, link and build your application.

How to use Xamarin in Visual Studio and Mac in the same time

I have just developed and android app using eclipse and now I want to develope its IOS version. I want to use Visual Studio and C# (I feel pretty much comfortable in these environments).
I read that, to achieve this I can use Xamarine. Everything is OK with configuring Xamarine on Visual Studio and using it in Visual Studio (I understood this part). I couldnt understant the "mac" part. They are saying that in order to build this app I need a mac running in my local network. Unfortunately I have no idea about Mac. Instead of using it in a local network, could I just install it in a Virtual Machine in windows and configure it on that way that I can see this mac from Visual Studio (How can I do this ?! :S).
I am sorry if my question is unclear but I would be greateful if any of you helps me understand these issues and help me develop my first IOS app in Visual Studio.
If you are going to do iOS development using Xamarin you need a Mac. A Mac will always be required to submit the app to the app store, and the way Xamarin works, you need to use a Mac to create the UI for iOS apps as well.
To get the most of the Xamarin, you ideally would develop your base code using Xamarin and C#, then build separate UI's for both Android and iOS. While your UIs are separate, your base core code is all the same for both apps.
It really does not make sense to have a native Android app all in Java, and then write the entire iOS app in C#. Either stick to completely native apps for both platforms, or use a wrapper like Xamarin for both.
Xamarin.iOS for Visual Studio makes it possible to develop iOS
applications on Windows, but you will still need a Mac in order to
compile and run the code.
Today, Xamarin.iOS integration in Visual Studio is focused on enabling
developers to develop in C#. Xamarin developers who write Xamarin.iOS
applications on Windows typically hand-code their user interfaces—or
they will need to switch to the Mac to use Xcode (or a beta version of
Xamarin’s new iOS Designer) to interactively design an iOS user
interface layout.
"or use a wrapper like Xamarin for both"
I have discovered the term wrapping is not correct for this product.
Unlike other products (Corona, Phonegap, Titanium, ...) that wrap up in a common, genericized library, Xamarin compiles at core level with no penalty. It is 100% native. All functionality in all it's supported platforms is 100% available and not watered down.
Wrappers can be faster to program in, in theory, but when you factor in the time you will spend looking for workarounds for the one piece of functionality that is available natively but not in your wrapper library. When you factor in the constant bugs because wrapping for 3 or more platforms is a constantly moving target and you can't count on it working from day to day.
When you factor all those things in, writing native in c# for all platforms is the better option.
I tried them all, and xamarin was my last choice as I was distracted chasing that perfect golden goose wrapper product.

Delphi XE4: target linux desktop? (gui application)

I am embarking on a cross platform app, but not mobile. It will be win/osx/linux. Would love to use Delphi + firemonkey, but it appears linux is not a possible target?
The GUI will not be extensive. Most of the code is non visual.
What are my options here? (Do I end up using lazerous for the linux side.... and then I have to have a special UI there?)
Please let me know my options here, how to solve this cross platform dev project (and hopefully avoid c++).
Linux is not currently one of the supported operating systems, as can clearly be seen from the product description on the Embarcadero web site. If you need Linux/Unix support, XE4 and FireMonkey aren't an option. (XE4 supports Win32, Win64, OSX, and iOS.)
There's support for Linux planned at some point in the future (after Android, which is currently being developed and slated for release later this year).

Rails App Integration with HPQC (HP Quality Centre)

I wanted to integrate hp quality centre to a rails app which is developed and deployed on a linux system.
I found that it uses the OTA (Open Test Architecture API). However it been specified that it uses a OTAclient dll for doing the activities of the api.
I would like to know if there is any documentation of such an integration been done (hpqc+rails on a linux system) ?
Is it possible to attain this integration.. Any gems or plugins...?
Unfortunately the OTAclient.dll requires a number of Windows only dll's. We eventually created a web service on a Windows machine in C# to provide an access point for our Ruby services.
The newer version of HPQC (ALM 11) has a REST-like service that you can use but upgrading to ALM 11 may be a bit much for what you are trying to do.

Resources